Foros del Web » Programando para Internet » PHP »

header y meta-refresh, lo mismo para buscadores

Estas en el tema de header y meta-refresh, lo mismo para buscadores en el foro de PHP en Foros del Web. Yo pensaba que con el header de PHP la redireccion era instantanea y asi es en el mozilla, pero el IE y el Opera si ...
  #1 (permalink)  
Antiguo 14/07/2006, 11:16
 
Fecha de Ingreso: febrero-2005
Mensajes: 623
Antigüedad: 12 años, 9 meses
Puntos: 10
header y meta-refresh, lo mismo para buscadores

Yo pensaba que con el header de PHP la redireccion era instantanea y asi es en el mozilla, pero el IE y el Opera si tardan unos segundos en hacer la redireccion

Como los buscadores nada mas toman el HTML resultado de PHP, entonces yo pensaria que a los buscadores no ven el header de PHP, pero como estoy viendo que en el IE y el Opera tarda en redirigir un segundo, entonces podria caber la posibilidad que los buscadores "indexen" o "cachen" la pagina que redirige (la cual no quiero indexen), y la pagina destino si quiero la indexe, lo malo es que la pagina a redirigir y la redirectora, ambas tienen la misma URL

Ustedes que opinan??
  #2 (permalink)  
Antiguo 14/07/2006, 12:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Deberías indicar una porción de código donde uses Header() y de que tipo .. por qué header() no es más que una función de PHP para permitirte enviar cabeceras HTTP al cliente .. (tu navegador en tu caso) .. La cabecera que envias es "Location" (pertenece al protocolo HTTP). Ahora .. el caso es que es tan común ver aplicado "header()" a "Location" que se "asume" que es esa la función de PHP para redireccionar .. pero no es así como acabo de explicar realmente.

La función header("Location: ...") sólo indica al "cliente" .. ya sea tu navegador, robot o la que pida tu script.php que "cambie" la página que está viendo por otra .. nada más. De hecho como cabecera que es, por su filosofía se envia y procesa por tus navegadores -antes- de cualquier otro HTML que pudieras haber enviado .. por ende un "robot" de un buscador no va cachear nada de "HTML" por qué no lo enviastes .. antes le digistes "cambia el URL que estás viendo por otro ...".

Insisto que sería bueno ver en que contexto usas ese tipo de redirecciones ...

Si te fijas .. el objetivo de redireccionar así es "terminar la ejecución del script" PHP en ese punto y cambiar a otro .. Por ende se debería usar:

exit;

Tras un header("Location: ..."); .. así fuerzas terminar la ejecución de tu script y en consecuencia que PHP entregue el buffer de salida de PHP al cliente .. en tu caso que se "Mande" a ejecutar esa función e instrucción HTTP .. sino, .. el código PHP sigue su flujo hasta el final (con un tiempo de ejecución que no corresponde) o teniendo que ir siguiendo el flujo de "if()... else ..." que pudieras tener hasta el fin del script ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:17.