Reindirizzare un sito web nella variante senza www, e viceversa!

Giovanni Canella

13/12/2013

6658

Navigando su internet si vedono una moltitudine di siti con domini di diverso tipo: quelli di secondo (http://ginho.it), terzo (http://ginho.altervista.org) livello e così via, ma tutti hanno in comunque una caratteristica: possono avere il www prefisso, o meno (quest'ultimi sono anche chiamati nudi, o vuoti). In questo articolo vediamo come reindirizzare il sito verso uno specifico tipo!

Le ragioni per farlo sono poche ma importanti, io ve ne cito 2:

  • SEO: Questo perchè i motori di ricerca (prendo come esempio Google), di default indicizzano entrambe le varianti, se non ci sono particolari richieste che lo neghino,  creando dei contenuti duplicati, penalizzandoci nelle SERP: infatti il seguente articolo: http://ginho.it/articoli/95/, è diverso visto agli occhi dello spider, da http://www.ginho.it/articoli/95/. Immaginatevi un sito con più di 5000 articoli, cosa andrebbe in contro!
  • Gusti personali: Se preferite vedere il dominio nudo, o no, questo dipende da voi: su questo aspetto nessuno può dirvi nulla. Nel mio caso ho preferito, per una lettura più concisa, che fosse solamente http://ginho.it.

In ogni caso, non è tanto quale versione sia migliore, infatti non ci sono differenze sostanziali tra le due, ma è adottarne solo una! Così eviteremo il problema prima descritto. 

Una volta che avete ponderato quella che fa per voi, ecco come fare in modo di reindirizzare tutte le richieste  (Redirect 301 permanente) su quella scelta!

Per far ciò, bastano poche righe di codice nel file .htaccess (se non è abilitato, seguite il relativo articolo).

WWW

Per la versione con www:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^ginho.it [NC]
RewriteRule (.*) http://www.ginho.it/$1 [R=301,L]

Attiviamo innanzitutto la mod_rewrite, con RewriteEngine on, e successivamente impostiamo una condizione, dove diciamo se l'url inserito corrisponde a quello "nudo". Se viene soddisfatta, allora esegue un reindirizzamento 301, alla risorsa con www, da notare il $1che indica la pagina a cui stavamo puntando prima.

Es. Una volta salvato, e caricato sul server, se proviamo ad accere a http://ginho.it/articoli/95/reindirizzare-un-sito-web-nella-variante-senza-www-e-viceversa, verremo indirizzati in http://www.ginho.it/articoli/95/reindirizzare-un-sito-web-nella-variante-senza-www-e-viceversa

Senza WWW

Concetto opposto per quanto riguarda questa scelta:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^ginho.it$ [NC]
RewriteRule ^(.*)$ http://ginho.it/$1 [R=301,L]

Infatti dopo aver attivato, come consuetudine l'engine, controlliamo tramite il punto esclamativo ! (NOT), che non corrisponda alla versione da noi desiderata (http://ginho.it), così nel caso fosse vero, quindi contenente il www, eseguiamo un bel redirect 301.

Un'alternativa poteva essere:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.ginho.it$ [NC]
RewriteRule ^(.*)$ http://ginho.it/$1 [R=301,L]

Dove lavoriamo in logica positiva.

Ti potrebbero interessare

I più letti