Aggiungere o rimuovere il "WWW" dall' url di un sito

Apache mod_rewrite logo

Da un punto di vista del SEO è importante che il nostro sito non duplichi i contenti presentando la stessa pagine con e senza il www nell'indirizzo URL.
La maniera migliore per evitare che un sito sia duplicato è scegliere una politica dell'indirizzo (vogliamo/non vogliamo il www) e forzare Apache a redirigere permanentemente i contenuti sull'unica versione del sito.
Da un punto di vista del SEO non importa scegliere se vogliamo o meno il WWW l'importante e che il sito sia presentato in una sola versione e che ad un tentivo di accesso alla forma non corretta Apache rediriga in maniera permante (http 301)sull'equivalente corretto.
Uno dei metodi più semplici è sicuramente quello di utilizzare il modulo mod_rewrite di Apache.

Per fare si che il sito sia sempre presentato nella forma www.sito.com ecco le righe da aggiungere all'.htaccess

#uccio.org ---> <a href="http://www.uccio.org&#10">www.uccio.org&#10</a>;  Options +FollowSymlinks
 RewriteEngine On  
  RewriteCond %{HTTP_HOST} !^<a href="http://www.uccio.org">www.uccio.org</a> [NC]
  RewriteRule ^(.*)$ <a href="http://www.uccio.org/$1">http://www.uccio.org/$1</a> [L,R=301]
#end

Per ottenere che il sito venga sempre utilizzato senza il www invece dovrete aggiungere all' .htaccess le seguenti righe:

#<a href="http://www.uccio.org">www.uccio.org</a> ---> uccio.org
 Options +FollowSymlinks
  RewriteEngine On
  RewriteCond %{HTTP_HOST} !^uccio.org [NC]
  RewriteRule ^(.*)$ <a href="http://uccio.org/$1">http://uccio.org/$1</a> [L,R=301]
#end

Gli utenti Drupal possono ignorare le righe delle Options e delle RewriteEngine.

Miro (non verificato) Mer, 07/04/2012 - 01:46

Ciao Uccio, grazie dell'articolo.
Mi permetto di aggiungere l'alternativa per nginx visto che uso quello.

server {
   listen      127.0.0.1:80;
   server_name <a href="http://www.uccio.org">www.uccio.org</a>;
   rewrite ^ $scheme://uccio.org$request_uri? permanent;
}

server {
   listen       127.0.0.1:80;
   server_name  uccio.org;

   ## altre configurazioni varie ###
}

questo rimuoverebbe sempre il WWW visto che io preferisco senza.

A presto e grazie :)