Redirección PHP 301 y 302

  • Por
Veamos cómo hacer una redirección con PHP utilizando la función header(). Con los tipos de redirección 301, permanente, y 302, temporal.
Una redirección sirve para llevar al navegador del usuario a una página distinta. Redirigir al navegador nos puede servir para enviarlo a otra dirección URL distinta donde están los contenidos que desea ver.

Existen dos tipos de redirecciones, la 301 que quiere decir "Redirección permanente" y la 302 que significa "Redirección temporal". El usuario que nos visita no percibe si estamos haciendo una redirección de un tipo u otro por PHP, pero el tipo de redirección utilizada si resulta una información interesante para buscadores, porque entenderán que una dirección ha cambiado temporal o permanentemente y eso les servirá para tener actualizadas sus bases de datos. Esto se explica en la FAQ: Diferencias entre redirección 301 y 302.

Con PHP podemos redirigir al navegador con la función header(), que envía informaciones en la cabecera del HTTP.

Una redirección con PHP se haría con algo como esto:

header("Location: http://www.una-redireccion-cualquiera.com");

Por defecto PHP realiza una redirección temporal, de tipo 302. Pero nosotros podemos indicarle otro tipo de redirección, también con la función header(), indicando el tipo antes de hacer el Location.

Para hacer una redirección 301 (permanente), utilizaremos un código PHP como este:

header("HTTP/1.1 301 Moved Permanently");
header("Location: nueva_pagina.html");

Para hacer una redirección 302 con PHP (temporal) el código sería así:

header("HTTP/1.1 302 Moved Temporarily");
header("Location: nueva_pagina.html");


Recordar entonces que es bueno de cara a buscadores que una redirección temporal, tipo 302, en algún momento la cambiemos por una de tipo permanente (301), si es que los contenidos que se han movido siempre van a mantener esa localización.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

alejandro

09/2/2010
error 302
esta bien pero deberian de enviar los pasos para poder corregirlo
gracias

Nick Warren

10/6/2012
Pobre alejandro
Obviamente no tenes idea donde estas parado... 301 y 302 no son error para nada. El error sería que no ocurran.