Para redirigir al visitante a otra página (particularmente útil en un bucle condicional), simplemente use el siguiente código:
<?php
header('Location: mypage.php');
?>
En este caso, mypage.php
es la dirección de la página a la que le gustaría redirigir a los visitantes. Esta dirección puede ser absoluta y también puede incluir los parámetros en este formato:mypage.php?param1=val1&m2=val2)
Camino relativo / absoluto
Cuando se trata de rutas relativas o absolutas, es ideal elegir una ruta absoluta desde la raíz del servidor (DOCUMENT_ROOT). Use el siguiente formato:
<?php
header('Location: /directory/mypage.php');
?>
Si alguna vez la página de destino está en otro servidor, incluye la URL completa:
<?php
header('Location: http://www.ccm.net/forum/');
?>
Encabezados HTTP
Según el protocolo HTTP, los encabezados HTTP deben enviarse a before
cualquier tipo de contenido. Esto significa que nunca se deben enviar caracteres antes del encabezado, ¡ni siquiera un espacio vacío!
Redirecciones temporales / permanentes
Por defecto, el tipo de redireccionamiento presentado anteriormente es temporal. Esto significa que los motores de búsqueda, como Google Search, no tendrán en cuenta la redirección al indexar.
Si desea notificar a los motores de búsqueda que una página se ha movido permanentemente a otra ubicación, use el siguiente código:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: new_address');
?>
Por ejemplo, esta página tiene el siguiente código:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: /pc/imprimante.php3');
exit();
?>
Cuando haces clic en el enlace de arriba, se te redirige automáticamente a esta página. Además, es una redirección permanente (Estado: 301 movido permanentemente). Entonces, si escribe la primera URL en Google, será redirigido automáticamente al segundo enlace redirigido.
Interpretación del código PHP
El servidor interpretará el código PHP ubicado después del encabezado (), incluso si el visitante se mueve a la dirección especificada en la redirección. En la mayoría de los casos, esto significa que necesita un método para seguir la header()
función de la exit()
función a fin de disminuir la carga del servidor:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: address');
exit();
?>