Cómo quitar las www de una URL y redirigir al dominio genérico con htaccess

Me gustaría redirigir el tráfico de mi sitio www.example.com a example.com. En otras palabras, quiero quitar las www cuando el usuario las añade a la dirección. La configuración que utilizo en mi archivo .htaccess es la siguiente:

RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

El problema es que esta configuración sólo funciona cuando se indica el nombre del sitio web (example.com en este caso). Lo que me gustaría es encontrar una solución genérica para quitar las www en cualquier nombre de dominio.

Estás leyendo una traducción autorizada de la pregunta Generic htaccess redirect www to non-www planteada por deepwell en StackOverflow.

Respuestas

#1

Utiliza la siguiente configuración en tu archivo .htaccess y te funcionará para cualquier nombre de dominio:

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