Cómo redireccionar a con o sin www mediante .htaccess

13

Todos sabemos que lo recomendable cuando tenemos un sitio web es que sólo se pueda acceder de una forma, ya sea con o sin www, pero nunca de ambas formas, o mejor dicho, que sí se pueda acceder de ambas formas, pero haciendo una redirección. Si no hacemos esto, los buscadores toman el sitio como dos sitios diferentes, lo que genera problemas.

La forma más simple de solucionarlo es haciendo una redirección, así cuando alguien entra al nuestro sitio, siempre redireccione a con o sin www, dependiendo de loq ue nosotros queramos. No tiene importancia si usamos o no www, eso no cambia nada, pero tenemos que decidirnos por uno.

Los que usamos servidores con Apache usamos el archivo .htaccess para hacer estas redirecciones (los que usan WordPress pueden usar plugins si lo quieren más simple). Este archivo lo encontramos en el directorio raíz del servidor y lo editamos con un editor de texto plano.

Los códigos son los siguientes, recuerden modificar el dominio eh :P

Redireccionar de www a sin www

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

Redirecionar de sin www a con www

RewriteEngine On
RewriteCond %{HTTP_HOST} ^dominio.com
RewriteRule ^ http://www.dominio.com%{REQUEST_URI} [L,R=301]

Visto en Techpp

Compartir

Comparte este post en redes sociales

Juanguis

Ex técnico de PC y redes, actualmente blogger fulltime desde hace 5 años. CEO y creador (?) de Punto Geek. Me encanta el buen café, hago Reiki, y estoy muy enamorado de mi novia Mar.

Suscríbete al feed

Si te gustó este post, no te olvides de suscribirte al feed RSS para que recibas las actualizaciones antes que nadie

únete a los 18884 seguidores

es gratis y toma menos de 2 minutos

13 Comentarios en este artículo

  1. Hola, he utilizado tu codigo

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^dominio.com
    RewriteRule ^ http://www.dominio.com%{REQUEST_URI} [L,R=301]

    Pero al introducir: dominio.com/entrada-numero-uno me redirige a http://www.dominio.com como podria hacer para que al introducir dominio.com/entrada-numero-uno me redirija a http://www.dominio.com/entrada-numero-uno por ejemplo?

  2. Juanguis   twitter  

    Hola Dicinoz, probá el código que puse ahora, ese te va a funcionar perfecto, perdón por el error anterior.

  3. isma  

    Interesante artículo. Pero tengo una pregunta:

    Para los que usamos Apache, hacer lo que comentas en el artículo sería lo mismo que añadir en el Virtual Host lo siguiente?

    ServerName http://www.loquesea.com
    ServerAlias loquesea.com

    Gracias!

  4. isma  

    En mi comentario anterior, el http:// en ServerName se puso automático

  5. Christian  

    buenas, alguien me puede decir donde debe estar el archivo .htacces? en un servidor linux. Gracias

  6. isma  

    Christina, el archivo .htaccess debes crearlo tu en el directorio principal de la página.

    Por ejemplo, si utilizas Apache, dentro de /var/www/loquesea/ (siempre que utilices /var/www/ como directorio raíz de Apache)

  7. Christian  

    Gracias isma

  8. David  

    Saludos,

    Por lo visto utilizar este método es lo mismo que usar ServerAlias, cuando se usan virtualhost, (a mi parecer más recomendable).

  9. Funciona si tengo subdominios? es decir, si quiero redireccionar dem SIN WWW a CON WWW, y tecleo subdominio.dominio.com, se quedaria en subdominio? o redireccionaria a WWW?

  10. Emanuel  

    Si quiero redireccionar a un .com.ar también sirve hacer algo así (obviamente con un par de cambios) o hay que hacerlo de otra forma? Porque tengo una página redireccionada a un .com.ar pero los links de los posts y demás siguen apuntando a la dirección original.

  11. WordPress redirige con o sin WWW según lo indiques en las opciones Generales del Panel de Control ;)

  12. sirve para crear subdominios tambien este codigo?

  13. Adrian Vera  

    Excelente!!! Genial!!! Funciana a la perfección…… me ha resultado mucho más útil modificar el archivo htaccess con el código que aquí aconsejan usar que seguir utilizando el siguiente código php para redireccionar:

    Muchas gracias!!!!!!!!!!

Deja un comentario

(*) (*)

Tu E-Mail no será visible públicamente
Los campos marcados como (*) son obligatorios