2013-02-05 17 views
6

Avevo contenuto del sito Web in una sottocartella (http://mydomain.com/subfolder/index.php), ora ho copiato tutto nella cartella principale (http://mydomain.com/index.php)..htaccess reindirizzamento FROM sottocartella al nome di dominio

Vorrei reindirizzare tutti i visitatori che hanno aggiunto la vecchia pagina ai nuovi contenuti (almeno al nuovo index.php) utilizzando .htaccess.

È questo corretto:

RewriteEngine on 
RewriteRule /subfolder/^(.*)$ http://mydomain.com [R=301,L] 

?

E dove posizionare il file .htaccess, nella sottocartella o nella cartella principale?

risposta

23

Posizionando il seguente .htaccess in / (dove si trova il vostro index.php) dovrebbe fare il trucco:

RewriteEngine on 
RewriteRule ^subfolder/(.*)$ /$1 [R=301,L] 

Oppure si potrebbe inserire il seguente .htaccess in /subfolder:

RewriteEngine On 
RewriteRule ^(.*)$ /$1 [R=301,L] 

Si noti che il () intorno a .* e il $1 reindirizzamenti /subfolder/someFile.php a /someFile.php. Se lo salti, tutto in /subfolder reindirizza a /.

+0

ho aggiunto il file nella cartella principale, ma il reindirizzamento non funziona. –

+1

Ho trovato questa soluzione: https://forums.digitalpoint.com/threads/quick-htaccess-redirect-from-subfolder.1155735/ e sembra funzionare. –

+0

È essenzialmente la stessa soluzione di cui sopra. Lo includerò come opzione – mariusnn

1

Prova:

RewriteEngine On 
RewriteRule ^subfolder/index.php$ /index.php[NC,L,R]