Como hacer redireccionamiento 301 y 302

Redireccionar una página consiste en enviar al usuario de una dirección a otra. Existen dos tipos de redireccionamiento: 301 y 302, cada uno para diferentes situaciones. Veamos como y cuando utilizar estos tipos para redireccionar de manera apropiada.

Tipos de Redirección

Existen dos tipos de redireccionamiento que podemos utilizar, los dos le cambian de dirección a los visitantes pero se comportan de manera diferente para los buscadores, esto nos puede ayudar a mejorar nuestro posicionamiento si sabes cual emplear.

  • Redirección 301: Indica una redirección permanente.
    Esto le indica a los buscadores que ignoren la dirección original e indexen la nueva dirección. Este tipo de redirección se utiliza cuando estamos cambiando de dominio a una web, esto haría que los buscadores indexen la nueva dirección sin perder los enlaces entrantes que tenía el dominio y sin perder el pagerank.
  • Redirección 302: Indica una redirección temporal.
    Esto indica que la dirección original no ha cambiado y se seguirá utilizando pero temporalmente cambiaremos de dirección.

Redireccionamiento con PHP

Para redireccionar en PHP se utiliza la función header, por defecto esto crea una redirección del tipo 302, indicando un cambio de dirección temporal, mientras que para hacer una redirección del tipo 301 es necesario agregar un header adicional.

Para hacer una redirección 302.

  1. header("Location: /users/home.php");

Para hacer una redirección 301.

  1. header("HTTP/1.1 301 Moved Permanently");
  2. header("Location: http://newdomain.com");

Redireccionamiento con .htaccess

Las redirecciones también se pueden hacer con el servidor web Apache utilizando el archivo .htaccess el cual esta ubicado en la carpeta principal del servidor.

Para hacer una redirección 302.

  1. redirect 302 /download/ /files/tubeplayer-1.2.zip

Para hacer una redirección 301.

  1. redirect 301 / http://newdomain.com

Cambiar de dominio

Si hemos decidido cambiar nuestra web a un nuevo dominio, haremos una redirección 301 con .htaccess de forma que nuestros visitantes vean todas las páginas en el nuevo dominio y los buscadores lo indexen sin perder pagerank.

  1. Redirect 301 (.*) http://newdomain.com/$1

Redireccionar a WWW

Si tenemos un dominio y deseamos que cuando se acceda a http://mydomain.com esta cambie a http://www.mydomain.com (Esto es llamado canonicalización y evita el contenido duplicado en los buscadores) podemos utilizar el siguiente código en .htaccess.

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

Redireccionar a no-WWW

Ahora podemos elegir que nuestra dirección no contenga el término www. Para ello utilizamos la segunda forma de canonicalización al redirigir desde http://www.mydomain.com hasta http://mydomain.com.

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

Mas Información

Comentarios Total 8 comentarios


Gustavo
Publicado: 19/05/2010 6:45 am

¡Excelente explicación!
Es algo que sé que existe desde hace tiempo pero que no le había prestado la correspondiente atención hasta ahora.

Xema
Publicado: 20/05/2010 6:12 am

Y si lo que queremos es mover la web de directorio? que sería lo mejor.

mi ejemplo personal:

en el root tenemos la versión vieja de la web
en el directorio V2 tenemos la versión nueva de la web que estamos terminando. para redireccionar tanto en php como en .htaccess como lo hariamos?

PD: se que lo mejor sería tener la nueva en el root pero la estructura y archivos son difíciles de mover, además de tener que hacer más cambios manuales.

Carluis Pérez
Publicado: 23/05/2010 12:53 pm

una buena explicación! me ha gustado mas que trabajes con el .htaccess es bueno que expongas este tema muchas personas entre ellas yo,se interesan mucho en este tipo de explicaciónes claras como esta.

HTTP Redirect Viewer | unijimpe
Publicado: 23/05/2010 3:50 pm

[...] caso para no utilizar WWW en el dominio).Esta herramienta fue escrita como complemento al artículo Como hacer redireccionamiento 301 y 302, si tienen sugerencias u observaciones pueden dejarnos un comentario para tomarlo en cuenta para [...]

FCR
Publicado: 26/05/2010 12:09 am

wow, no tenia idea de los tipos de redireccion.

Azahi
Publicado: 14/07/2010 11:36 am

Hola,

puedo realizar el 301 desde un blog de blogger a una pagina de wordpress?

Saludos.

unijimpe
Publicado: 14/07/2010 11:17 pm

Hola Azahi hacer la redirección 301 no es sencillo pues no puedes subir un archivo .htaccess, en lugar de ello se hace uso de un metatag. Explicarlo es un poco complicado, pero puedes leer un excelente articulo http://www.dannytalk.com/2008/07/26/how-to-301-redirect-from-blogger-to-wordpress/

Azahi
Publicado: 17/07/2010 3:35 pm

Hola nuevamente,

te agradesco el articulo pero sigo sin poder realizarlo. Hice todo lo que Danny menciona, chequie no haber puesto la / al final de cada direccion, pero = sigue sin redirigirme. Tal ves podrias darme una mano con esto, mi blog es:

http://juegosdeface.blogspot.com

y quiero redirigirlo a:

http://www.facebookjuegos.net

Saludos.

 

Comentar

En este blog los comentarios están moderados, serán mostrados cuando el administrador los apruebe. Por favor, evita comentarios ofensivos u obscenos por que no serán aprobados.
Si deseas publicar código fuente debes hacerlo entre las etiquedas <code> y </code>, además debes reemplazar los carácteres < por &lt; y > por &gt;.

(Requerido)

(Requerido, no será publicado)

(Requerido)

(Tags aceptados: <a> <em> <strong> <code> <ul> <li>)