Redirección 301: Todos los ejemplos

redireccion 301

La redirección 301 es un recurso vital para mover, eliminar, cambiar URL… siendo una de las soluciones más adaptadas y necesarias para el SEO. Existen distintas formas de realizar una redirección 301, pero aquí te vamos a explicar como hacerla en .htaccess, de forma simple, y para diferentes casos, dependiendo de lo que necesites.

En primer lugar, vamos a recordar que el archivo .htaccess es un archivo de configuración utilizado por los servidores web, que, mediante unas instrucciones, permite definir la forma en la que se comporta la página web. Cada función es una línea de código que indica al servidor que hacer. Sirve, entre otras cosas, para proteger el sitio web con una contraseña, ajustar valores de compresión, o como en este caso del que hablamos en este post, redireccionar páginas.

El archivo .htaccess lo encontrarás en la raíz de tu página web. En caso de no existir, puedes crear este archivo, creando un nuevo archivo de texto, con el nombre .htaccess (con el punto delante del nombre, si).

En los planes de hosting de MundiServer encontrarás el .htaccess ya creado en tu raíz.

Vamos a explicar algunos casos, en los que puedes emplear una línea de código en tu .htaccess para hacer redirecciones.

Redirección 301 para cambiar dominio manteniendo estructura

Si vamos a cambiar nuestro dominio, y vamos a mantener todo el contenido, incluido la estructura de las URL, esta es nuestra redirección. Por ejemplo, nuestro dominio es: dominioantiguo.com/ruta-carpeta/pagina, y cuando cambiamos el dominio, queremos mantener la parte de ruta-carpeta/pagina, es decir, que quede así: dominionuevo.com/ruta-carpeta/pagina, utilizaremos el siguiente codigo dentro del .htaccess:

1
redirectMatch 301 ^(.*)$ http://dominionuevo.com$1

Recuerda, debes introducir este código dentro del .htaccess del domino antiguo. Gracias a este código, conservaremos nuestra estructura de URL o enlaces.

Redirección 301 al index o raíz de otro dominio

Esta redirección es muy similar a la anterior, pero en este caso, no vamos a mantener la estructura. Esto ocurre, cuando por ejemplo, cambiamos el dominio, y tambien la programación de nuestra web, de modo que la estructura de URL o enlaces, no se va a mantener. En este caso, por lo tanto, vamos a redirigir todo el trafico del dominioantiguo.com a la raiz del dominionuevo.com. Por ejemplo, si un visitante entra en dominioantiguo.com/ruta, la redirección le llevara a dominionuevo.com.

1
redirectMatch 301 ^(.*)$ http://dominionuevo.com

 

Redirección 301 de URL a dominio nuevo

Cuando tenemos nuestro blog, por ejemplo, dentro de nuestro dominio, por ejemplo, tal que así: domino.com/blog, y queremos que el blog tenga su propia dirección, crearemos esta redirección.

1
redirect 301 /blog/ http://dominioparablog.com/

 

Redirección 301 de páginas internas

Ocurre cuando queremos cambiar de forma interna la ruta hacia una página. Por ejemplo, vamos a poner de nuevo el ejemplo del blog. Si es en tu dominio tal que así: dominio.com/wordpress, y quieres que se llame dominio.com/blog, vamos a utilizar esta redirección:

1
redirect 301 /wordpress http://www.dominio.com/blog

 

Redirección dominio con WWW o sin WWW

Estas redirecciones ocurren cuando queremos que nuestro dominio tenga las www (http://www.dominio.com), o que en cambio, no tenga las www (http://dominio.com). Para ello, utilizaremos las siguientes redirecciones. Cuidado, porque en esta ocasión, vamos a utilizar más código.

Dominio sin WWW: 

1
2
3
RewriteEngine On
RewriteCond %{HTTP_HOST} !^dominio\.com$ [NC]
RewriteRule ^(.*)$ http://dominio.com/$1 [R=301,L]

En este caso, como en todos los anteriores, deberemos cambiar el dominio de ejemplo (dominio.com), por nuestro dominio.

Dominio con WWW:

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

En este ejemplo, NO es necesario cambiar nada, tal cual puedes usar el código.

Redirección 301 de HTTP a HTTPS, o incluso de HTTPS a HTTP

Cuando queremos que todo el tráfico pase por entorno seguro (https), deberemos utilizar el siguiente código:

1
2
3
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://www.dominio.com/$1 [R=301,L,QSA]

Si lo que queremos, es dejar que se acceda tanto por HTTP como HTTPS, dependiendo de lo que el usuario indique, debes eliminar el código anteriormente mencionado. Pero también cabe la posibilidad de que no quieras que se acceda por HTTPS bajo ningún concepto. Para ello, utilizaremos el siguiente código:

1
2
3
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://www.dominio.com/$1 [R=301,L,QSA]

 

[Total:1    Promedio:5/5]

Send this to a friend