Tecnica del Redirect 301 con Apache e htaccess
Argomento
Con Apache è possibile comunicare agli spider dei motori di ricerca che una url è stata modificata, in questo modo la ricerca verrà automaticamente reindirizzata vesro la nuova url.
La tecnica descritta definita definita come"Redirect 301" e funziona su server Apache e si basa sul file .htaccess .
Il vantaggio di questo metodo è quello di poter redirigere un'intera cartella (directory) verso un nuovo indirizzo url.
Esempio 1
Redirigere da www.miosito.com a www.miosito.com/new
Abbiamo il seguente sito www.miosito.com attivo e funzionante. Volgiamo creare il nuovo sito, per esempio con Drupal, senza eliminare il vecchio in modo da preparare le nuove pagine assieme al cliente.
Durante questa fase supponiamo che il nuovo sito venga creato e caricato in www.miosito.com/new.
Al termine della creazione, si ha l'esigenza di rendere visibile unicamente il nuovo sito. Per fare questo si può utilizzare su un server apache la tecnica del redirect.
Creazione del file .htaccess
Creiamo il file .htaccess nella cartella principale di www.miosito.com e all'interno inseriamo il seguente codice
RewriteEngine on
RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^(.*)$ http://www.miosito.com/new [R=301,L]
In questo modo diciamo al mod_Rewrite di Apache che qualsiasi richiesta al dominio www.miosito.com viene rigirata tramite redirect 301 direttamente l sito www.miosito.com/new
Il Redirect 301 (Moved Permanently) e permanente a differenza del redirect 302 (Moved Temporarily) che è solo temporaneo.
Esempio 2
Redirigere da www.vecchiosito.com a www.nuovosito.com
Abbiamo creato il nuovo sito con dominio www.nuovosito.com.
Vogliamo redirigere gli accessi da www.vecchiosito.com sul nuovo.
Creazione del file .htaccess
Nella cartella principale di www.vecchiosito.com creiamo il file .htaccess e all'interno inseriamo il seguente codice
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.nuovosito.com/$1 [R=301,L]
In questo modo diciamo al mod_Rewrite di Apache che qualsiasi richiesta al dominio www.vecchiosito.com viene rigirata tramite redirect 301 direttamente al nuovo sito www.nuovosito.com.
Esempio3
Redirigere da www.vecchiosito.com/foto a www.nuovosito.com/foto
Abbiamo creato sul sito www.nuovosito.com la cartella foto che contiene un'applicazione (ad esempio la galleria fotografica)
Vogliamo redirigere gli accessi alla galleria fotografica da www.vecchiosito.com/foto sul nuovo.
Creazione del file .htaccess
Nella cartella www.vecchiosito.com/foto creiamo il file .htaccess e all'interno inseriamo il seguente codice
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.nuovosito.com/foto/$1 [R=301,L]
In questo modo diciamo al mod_Rewrite di Apache che qualsiasi richiesta al dominio www.vecchiosito.com/foto viene rigirata tramite redirect 301 direttamente al nuovo sito www.nuovosito.com/foto.