Redirect con .htaccess

Affrontiamo, rapidamente ed in modo estremamente semplice, un piccolo inconveniente che interessa chi effettua modifiche ad alcune pagine WEB componenti il proprio sito. Talvolta si verifica la necessità di redirigere collegamenti esterni al nostro sito ad una nuova pagina o ad una pagina rinominata.
Se ad esempio la pagina indice (principale) è del tipo index.htm ed in seguito a delle modifiche diviene index.html, tutti i vecchi collegamenti esterni a quella pagina produrranno un errore di pagina non trovata (errore 404).
 
Soluzione
Basta inserire nella root del sito (directory principale) un file .htaccess contenente le informazioni per il redirect.
 
Esempio
Redirect 301 /index.htm http://www.esempio.net/index.html
Questa semplice riga all'interno di un file nominato .htaccess, dirigerà tutti i collegamenti che puntano al file index.htm sul dominio http://www.esempio.net/ verso la nuova pagina index.html. Allostesso modo possiamo intervenire se il nostri indice diviene index.php, basterà creare un file .htaccess contenente:
Redirect 301 /index.html http://www.esempio.net/index.php
Possiamo anche prevedere più possibilità, inserendo più righe nell'htaccess:
Redirect 301 /index.html http://www.esempio.net/index.php
Redirect 301 /index.htm http://www.esempio.net/index.php
Redirect 301 /test.html http://www.esempio.net/sample.php
 
E, se invece volessimo redirigere un intero dominio verso uno nuovo?
 
Basterà creare un file .htaccess contenente le seguenti istruzioni:
 
Options +FollowSymLinks
 
RewriteEngine On
RewriteRule (.*) http://www.nuovosito.net/$1 [R=301,L]
 
Attenzione, su alcuni hosting, "Options +FollowSymLinks", può creare dei problemi, in tali casi lo si può tranquillamente rimuovere.