Redireccionar a otra página web con php


elephpant

Redirección simple

Para redireccionar al visitante hacia otra página (especialmente útil en un bucle condicional), sólo hay que utilizar el código siguiente: 

<?php
header('Location: mipagina.php');
?>


Donde mipagina representa la dirección de la página hacia la que se quiere redireccionar. Esta dirección puede ser absoluta y puede tener parámetros de la forma mipagina.php?param1=val1¶m2=val2). 

Ruta relativa/absoluta

Teóricamente, es mejor preferir una ruta absoluta desde la raíz del servidor (DOCUMENT_ROOT), de la forma siguiente: 

<?php
header('Location: /repertoire/mapage.php');
?>


Si la página de destino estuviera en otro servidor, entonces indicar la URL completa, de la forma siguiente: 

<?php
header('Location: http://www.commentcamarche.net/forum/');
?>

Encabezados HTTP

Las redirecciones son encabezados HTTP. Pero, según el protocolo HTTP, los encabezados HTTP deben ser enviados antes que cualquier otro tipo de contenido, lo que significa que ningún carácter debe ser enviado antes del llamado de la función header, ni siquiera un espacio! 

En otras palabras, la función header() necesariamente debe ser utilizada antes de cualquier código HTML

Redirecciones temporales/definitivas

Por defecto, el tipo de redirección presentada líneas arriba es una redirección temporal. Lo que significa que los motores de búsqueda como Google no la toman en cuenta para el posicionamiento. 

Por ello, si deseamos indicar a los motores de búsqueda que la página A está ahora en la ubicación B, debemos utilizar el siguiente código al inicio del archivo PHP correspondiente a la página A: 

<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: direccion_de_la_pagina_B);
?>

Interpretación del código PHP

El código PHP situado después del llamado a la función header() será interpretado por el servidor, incluso si el visitante ya ha partido a la dirección especificada en la redirección, lo que significa que en la mayoría de casos tendremos interés en poner la función exit() después de la función header() para no hacer trabajar el servidor por gusto: 

<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: direccion);
exit();
?>
<
Previous Cómo crear una auto-respuesta en cPanel
Next Eliminar virus en mi cPanel

No Comment

Leave a reply

Tu dirección de correo electrónico no será publicada.