Creare redirect 301 usando il file .htaccess – (Server Apache)

Oggi ho dovuto fare un redirect di un sito web avendo solo un’accesso ftp ho voluto utilizzare un file .htaccess per fare un redirect 301, ovvero un redirect permanente (moved permanently) per comunicare agli spider dei motori di ricerca (gli spider non sono altro che programmi che visitare continuamente una grande quantità di siti web, leggere il testo contenuto nelle pagine ed estrarre quelle parole/termini che rappresentano al meglio i contenuti del sito).

Creare un redirect htaccess è il modo più semplice e funzionale per risolvere eventuali errori tra i più conosciuti ad esempio il 404 (not found) pagina non trovata, reindirizzando su una pagina diversa.

I reindirizzamenti che si possono eseguire impostando i redirect mediante il file .htaccess sono diversi e molteplici, ogni redirect che faremo segnalerà ai motori di ricerca uno specifico codice di intestazione.

Le ragioni per impostare redirect 301 possono essere diverse:

  • Redirect da vecchio nome dominio a nuovo nome dominio.
  • Redirect da dominio secondario verso il dominio principale.
  • Reindirizzamento da vecchio sotto dominio a nuovo sotto dominio.
  • Reindirizzare dominio da sotto cartella ad altra sotto cartella.
  • Impostare la struttura del dominio con www oppure senza www.
  1. Reindirizzamento da WWW a senza WWW
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
  2. Redirect da senza WWW a WWW
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L](se non dovesse funzionare la variabile {HTTP_HOST} )RewriteEngine On
    RewriteCond %{HTTP_HOST} ^tuodominio.it [NC]
    RewriteRule ^(.*)$ http://www.tuodominio.it/$1 [L,R=301]
  3. Redirect da vecchio dominio a nuovo dominio
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www\.vecchiodominio\.com$
    RewriteRule (.*) http://www.nuovodominio.com/$1 [R=301,L]
    RewriteCond %{HTTP_HOST} !^vecchiodominio\.com$
    RewriteRule (.*) http://www.nuovodominio.com/$1 [R=301,L]

Per quanto riguarda i domini di terzo livello

  1. Redirect da vecchio sotto dominio a nuovo sotto dominio
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^sottodominio.vecchio.com$
    RewriteRule ^(.*)$ http://sottodominio.nuovodominio.com/$1 [R=301,L]
    RewriteCond %{HTTP_HOST} ^www.sottodominio.vecchiodominio.com$
    RewriteRule ^(.*)$ http://sottodominio.nuovodominio.com/$1 [R=301,L]
  2. Redirect da vecchio dominio a nuovo sotto dominio
    RewriteEngine on
    RewriteRule ^(.*)$ http://www.your-new-domain.com/$1 [R=301,L]

 

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *