Salta al contenuto principale

Tecnica del Redirect 301 con Apache e htaccess

Argomento

Tecnica del Redirect 301 con Apache e htaccess

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.