Come gestire il redirect 301 e 302 delle pagine Web con .htaccess

redirect

Il Web server Apache offre la possibilità di reindirizzare (redirect) l’intero sito o determinate directory o pagine con una semplice direttiva da inserire nel file .htaccess.

Solitamente .htaccess va messo nella cartella su cui si vuole abbia effetto (ha effetto anche nelle relative sottocartelle), in genere in questo caso va nella root del sito visto che si vuole controllare il comportamento complessivo del sito e non di particolari sezioni.
Aprite .htaccess con un editor di testo come Blocco Note o NotePad++; controllate che ci sia questa direttiva (dovete avere mod_rewrite di Apache abilitato; fatelo in autonomia se gestite una VPS o un Cloud Server o contattate il vostro Provider se usufruite di un piano di Web hosting. Nel Web hosting di CoreTech è abilitato):

RewriteEngine On

Ci sono sostanzialmente due tipi di redirect: permanente (301) e temporaneo (302).
I due tipi di redirect indicano essenzialmente il comportamento che devono adottare i motori di ricerca nei confronti delle pagine del sito che viene reindirizzato.

Un redirect permanente (301) indica che la risorsa, cioè una pagina o una cartella, non è più presente e quindi il motore di ricerca deve indicizzare il nuovo percorso “assegnandoli” il ranking di quello vecchio, all’opposto un redirect temporaneo (302) indica che la risorsa è momentaneamente non disponibile, quindi non deve né indicizzare il nuovo, temporaneo percorso, né cambiare il ranking del vecchio e del nuovo sito.

Il codice

Per fare il redirect 301 dell’intero sito usate questo codice:

Redirect 301 / http://nuovosito.it

Potete anche reindirizzare una singola pagina usando questo codice:

Redirect 301 /vecchia-pagina.html http://www.esempio.it/nuova-pagina.html

Per il redirect 302 sostituite semplicemente il codice:

Redirect 302 / http://nuovosito.it
Redirect 302 /vecchia-pagina.html http://www.esempio.it/nuova-pagina.html