Redirección PHP (encabezado de redireccionamiento) - Consejos

Cualquier webmaster se da cuenta un día de que uno de sus archivos tiene un nombre que no encaja o que el árbol de archivos debe modificarse. Sin embargo, si es relativamente fácil cambiar los enlaces en su sitio, es mucho más difícil cambiar los enlaces externos en otros sitios. Además, cuando cambiamos las páginas de lugar, los motores de búsqueda pueden enviar a los usuarios en el vacío o, peor aún, restablecer todas las referencias de la página.

Heureusement, il existe une solution simple : les redirections, permettant de maintenir la cohérence de la navigation (et du référencement) d’un site, même si l’ensemble des fichiers à changé de place.

Encabezados HTTP

Los redireccionamientos son encabezados HTTP. Sin embargo, de acuerdo con el protocolo HTTP, los encabezados HTTP deben enviarse antes que cualquier otro tipo de contenido, lo que significa que no deben enviarse caracteres antes de llamar a la función de encabezado, ¡ni siquiera un espacio!

En otras palabras la funcion header () debe ser usado antes de cualquier código HTML.

Para más información, lea este artículo: El error "encabezados ya enviados por"

Vídeo

Redireccionamiento simple

Para redirigir al visitante a otra página (especialmente útil en un bucle condicional), solo use el siguiente código:

<? php header ('Ubicación: <ital> mapage.php </ ital>'); ?>

donde mypage.php representa la dirección de la página a la que desea redirigir. Esta dirección puede ser absoluta y también puede tener parámetros de la forma

mypage.php? param1 val1 = & = m2 val2

).

Camino relativo / absoluto

Idealmente, prefiera una ruta absoluta desde la raíz del servidor (DOCUMENT_ROOT), de la siguiente forma:

<? php header ('Ubicación: <ital> /directory/mapage.php </ ital>'); ?>

Si jamais la page cible est sur un autre serveur, vous mentionner l’URL complète, de la forme suivante :

<? php header ('Ubicación: <ital> http: </ ital> <ital> // www.commentcamarche.net/forum / </ ital>'); ?>

Redirecciones temporales / permanentes

Por defecto, el tipo de redirección que se muestra arriba es una redirección temporal. Esto significa que los motores de búsqueda como Google no lo tienen en cuenta para el SEO.

Ainsi, si vous souhaitez signifier aux moteurs de recherche que la page A est maintenant à l’emplacement B, il faut utiliser le code suivant en tout début du fichier PHP correspondant à la page A :

<? encabezado php ('Estado: 301 movido permanentemente', falso, 301); encabezado ('Ubicación: dirección_de_la_página_B'); ?>

Ejemplos

La página tiene el siguiente código:

<? encabezado ('Estado: 301 movido permanentemente', falso, 301); encabezado ('Ubicación: / contenido / impresora 748'); exit (); ?>

Entonces, cuando haces clic en el enlace de arriba, eres transferido automáticamente a la página

Además, es una redirección permanente (Estado: 301 movido permanentemente). Por lo tanto, si escribe la primera URL en Google, le dará la dirección de la segunda, como prueba de que ha tenido en cuenta el redirección

Interpretación de código PHP

El servidor interpretará el código PHP después de llamar a la función header (), incluso si el visitante ya ha ido a la dirección especificada en la redirección, lo que significa que en la mayoría de los casos tiene interés en hacerlo. siga el encabezado de función () de la función exit () para no hacer que el servidor funcione por nada:

<? encabezado php ('Estado: 301 movido permanentemente', falso, 301); encabezado ('Ubicación: dirección'); exit (); ?>

Ver también

Este artículo apareció primero en CCM