Categorías
SEO

Cómo redireccionar un dominio sin www a con www

En este tutorial voy a explicar cómo redireccionar un dominio sin las www a un dominio con las www de manera automática en el servidor mediante la modificación del fichero htaccess y que resulte transparente al usuario.

Redireccionar dominio sin www a www

No creo que pueda penalizar una web por contenido duplicado, pero sí que puede que perdamos autoridad en nuestra web con los enlaces que nos apuntan.

Para evitar este problema, tenemos que crear la siguiente redirección:

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

El código anterior redirecciona la web sin las www a una web con las www.

Explicación del código

<IfModule mod_rewrite.c>: Comprobamos que nuestro servidor tiene activo el módulo mod_rewrite.c, si es así continuará con el código.

RewriteEngine on: Activa la función de reescritura en el servidor.

RewriteCond %{HTTP_HOST} ^midominio.com : Es una condicional, en programación lo que sería un if, es una condición que se tiene que cumplir para seguir con el resto de instrucciones.

En este caso si la variable %{HTTP_HOST} es igual a www.midominio.com, avanzaremos a la siguiente instrucción.

RewriteRule ^(.*)$ http://www.midominioconlaswww.com/$1 [R=301,L] : Cuando la url sea lo que sea se redirecciona a la a la página http://www. midominioconlaswww.com/. Al final de esta línea de código hay unos flags que explicaremos más adelante en el apartado de flags y caracteres.

</IfModule>: Para finalizar la redirección cerramos el condicional principal.

Flags y caracteres

  • ^ : Indica el principio de la línea.
  • $ : Indica el final de la línea.
  • . : Indica que puede ser cualquier carácter.
  • * : Indica que puede ser 0 o más caracteres.
  • + : Indica que puede ser 1 o más caracteres.
  • (.*) : Indica cualquier cosa.
  • R=301: Indica que el redireccionamiento es permanente 301.
  • L: Si se cumple la norma, se para la ejecución del código y no se ejecuta ninguna condición mas.

Redireccionar dominio con www a sin www

Si por el contrario se quiere redirecciones la web con www a una web sin www, se tendría que copiar el siguiente código en el .htaccess:

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

Con este simple código ya tendremos completada nuestra redirección hecha y así evitaremos posibles duplicidades en los buscadores. Como complemento a este tutorial, os dejo un mega tutorial de redirecciones 301 que he implementado en diferentes sitios web que seguro que os servirá de ayuda.

Si te ha gustado este tip, compártelo!

¡Haz clic para puntuar esta entrada!
(Votos: 3 Promedio: 5)

4 respuestas a «Cómo redireccionar un dominio sin www a con www»

Buenas Raúl,

El código lo tienes que pegar en el fichero .htaccess de su servidor, lo encontrarás en la raíz del mismo,

Un saludo

Buenas David,

Tengo una web con certificado SSL
En el fichero .HTACCESS implementé el siguiente código, con la intención que todas las peticiones al navegador dirigieran a la URL Https:/ /www. midominio.es
Pero el resultado no es el esperado
El código es:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https:/ /www .masajessayan.es/$1 [R=301,L]
RewriteCond %{http_host} ^masajessayan.es [NC]
RewriteRule ^(.*)$ https:/ /www. masajessayan.es/$1 [R=301,L]
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /Index\.htm\ HTTP/
RewriteRule ^Index\.htm$ https:/ /www. masajessayan.es/ [R=301,L]

En todos los casos funciona, excepto cuando la petición en el navegador es Https:// midominio,es, ahí no me lleva a htttps://www,midominio.es, me lleva a https:// midominio.es.

Dónde está el error. Quedaría muy agradecido por tu ayuda

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *