Con PHP se pueden crear algunos de los sitios web más populares del mundo, incluidos los sitios web de WordPress. Es un lenguaje de secuencias de comandos popular para el desarrollo de sitios web porque es rápido, flexible y fácil de aprender. PHP se usa principalmente para crear rápidamente páginas web generadas dinámicamente, aunque se puede hacer mucho más.
En el desarrollo web, la redirección de páginas es una práctica común que garantiza una mejor experiencia de usuario y mantiene la integridad del sitio web. Aunque la función header()
de PHP es una de las formas más directas de realizar redireccionamientos, existen otras técnicas que pueden ser útiles en diferentes contextos. Veamos más de cerca lo que es una redirección de PHP y cómo configurar una.
¿QUÉ ES UNA REDIRECCIÓN DE PHP?
Una redirección de PHP es una solución del lado del servidor para reenviar a los usuarios y motores de búsqueda de una URL a otra utilizando la función header(). Desde su lado del servidor, a diferencia de una redirección HTML, que es del lado del cliente, una redirección PHP proporciona una navegación más rápida y segura de una página a otra.
Ahora que entendemos el beneficio de una redirección de PHP, veamos cómo configurar una.
-
Cómo redirigir en PHP
Para redirigir en PHP, primero deberá escribir su función header(), comenzando con header() .
Luego, dentro de los paréntesis, definirá el campo de encabezado de respuesta de ubicación con la URL o el nombre de archivo al que desea redirigir a los usuarios y motores de búsqueda. Los archivos admitidos incluyen PHP, HTML, Python, CGI, Perl o programas CGI compilados. Entonces, su función de encabezado podría verse así: header(«Ubicación: http://www.example.com/»); o header(«Ubicación: ejemplo.php/»);
Después del punto y coma, tendrá que agregar una última función: la función die() o exit(). Sin ninguna de estas funciones, los rastreadores de motores de búsqueda o los bots pueden ignorar la función de encabezado y continuar procesando la página desde la que desea redirigir. Así es como se vería su encabezado ahora: header(«Ubicación: http://www.example.com/»); salida;
Finalmente, envolverá esta función en las etiquetas <?php y ?>. El resultado final será algo como esto:
-
Encabezado de redirección de PHP
Hay algunas reglas adicionales para usar la función header() para configurar una redirección de PHP. En primer lugar, importa dónde coloque la función header() en su archivo index.php. En segundo lugar, puede establecer códigos de estado HTTP para controlar cómo el servidor redirige a un usuario y motor de búsqueda.
Echemos un vistazo más de cerca a estas reglas a continuación.
-
Ubicación del encabezado de PHP
Para que la redirección de PHP funcione, la función de encabezado () debe ejecutarse antes de enviar cualquier salida. Eso significa que el código debe escribirse sobre las etiquetas <!DOCTYPE html> o <html> en su archivo index.php.
De lo contrario, es probable que reciba un mensaje de error que diga «los encabezados ya se enviaron». Supuestamente, la función de encabezado es tan delicada que un solo espacio en blanco puede provocar este error.
Aquí hay un vistazo a la ubicación adecuada:
Aquí hay un vistazo a una ubicación incorrecta:
-
Códigos de respuesta de estado HTTP
Los códigos de respuesta de estado HTTP le permiten saber si su solicitud HTTP se completó con éxito o no. Hay diferentes grupos de códigos de respuesta, incluidos los redireccionamientos. Dado que un código de estado de redireccionamiento cambia la forma en que los navegadores y los bots de los motores de búsqueda manejan los redireccionamientos, se recomienda establecer un código de estado al usar el encabezado (Ubicación:). Echemos un vistazo a las diferencias entre los dos códigos de estado de redireccionamiento más comunes a continuación.
Código 302
Si el código de estado no se especifica en la función de encabezado, el valor predeterminado es 302. 302 indica una redirección temporal. Es decir, la URL solicitada reside temporalmente en un URI diferente.
Con una redirección 302, los navegadores normalmente almacenarán en caché la página de la sesión y ya no. Los motores de búsqueda normalmente tampoco transferirán el ranking de la página a la nueva ubicación. Eso hace que la redirección 302 sea ideal para realizar el mantenimiento del sitio u otros casos de uso temporal.
Aquí hay un ejemplo de la llamada de encabezado con el código 302 especificado:
Esta llamada no solo devuelve el encabezado al navegador, sino que también devuelve un código de estado de redirección 302.
Redireccionamiento PHP 301
Si desea configurar la redirección de PHP para que sea permanente en lugar de temporal, puede usar el código de estado 301. 301 indica una redirección permanente, por lo que el navegador redirigirá automáticamente a un usuario que usa la URL anterior a la nueva dirección de la página. e informar a los bots de los motores de búsqueda que la página ya no está disponible y puede ser reemplazada por la nueva página. Como resultado, una redirección 301 se considera el código 3xx más amigable para los usuarios y los motores de búsqueda.
Las otras diferencias clave entre los redireccionamientos 302 y 201 son que los navegadores generalmente almacenan en caché la página durante más tiempo que la sesión, posiblemente incluso indefinidamente, y los motores de búsqueda generalmente transfieren el rango de la página a la nueva ubicación. Eso hace que las redirecciones 301 sean ideales para redirigir contenido duplicado, migrar a un nuevo dominio y más.
Aquí hay un ejemplo de la llamada de encabezado con el código 301 especificado:
REDIRECCIÓN DE PHP SIN ENCABEZADO
Si tiene problemas con la función de encabezado, aún puede configurar una redirección de PHP con JavaScript. Si bien la redirección puede ser más lenta con JavasScript, seguirá siendo efectiva.
Configurar la redirección con JavaScript es simple. Comienza con la función window.location. Luego agregue un atributo ahref con la URL a la que desea redirigir a los usuarios y a los robots de los motores de búsqueda. No olvide agregar los atributos apropiados para asegurarse de que se abra en una nueva ventana. Finalmente, envuélvalo en etiquetas <script></script>.
Así es como se verá el código usando JavaScript:
<!DOCTYPE html>
<html>
<head>
<title>Redireccionando…</title>
</head>
<body>
<script type=»text/javascript»>
window.open(‘http://www.example.com/’, ‘_blank’, ‘noopener’);
</script>
Si no es redirigido automáticamente, haga clic <a href=»http://www.example.com/» target=»_blank» rel=»noopener»>aquí</a>.
</body>
</html>
Sin embargo, hay algunos problemas con este método, además de que es más lento. En primer lugar, JavaScript debe estar habilitado y descargado en el navegador del cliente para que esto funcione. Tampoco hay códigos de estado involucrados, por lo que no puede incluir información sobre la redirección para los motores de búsqueda. Por estas razones, el uso de la función de encabezado se considera una buena práctica.
CONFIGURACÍON DE SUS REDIRECCIONAMIENTOS DE PHP
Los redireccionamientos de PHP pueden ayudar a los usuarios y a los motores de búsqueda a navegar sin problemas y de forma segura entre las páginas de su sitio. La buena noticia es que configurar estos redireccionamientos es fácil gracias a la función header().
Configuración Inicial:
- Asegúrate de que no haya salida antes de la llamada
header()
. - Coloca la función
header()
en la parte superior del archivo PHP.
Añadir Código de Redireccionamiento:
- Usa
header("Location: nueva_url", true, 301);
para redirecciones permanentes. - Usa
exit;
para finalizar el script después de la redirección.
FUNCIONALIDADES CLAVE DE PHP PARA REDIRECCIONAMIENTOS
Redireccionamiento con Meta Refresh
El método Meta Refresh es una técnica del lado del cliente que se puede utilizar cuando la función header()
no está disponible o cuando se prefiere una redirección menos agresiva.
Redireccionamiento con JavaScript
El redireccionamiento con JavaScript es otra opción cuando no se pueden utilizar métodos del lado del servidor. Este enfoque puede ser útil en aplicaciones donde se necesita una mayor interacción del cliente.
CONCLUSIONES
Para concluir, podríamos definir al lenguaje y los frameworks PHP como una herramienta versátil y cada vez más popular. La facilidad de uso con la que cuenta además de su compatibilidad con diferentes bases de datos y la gran comunidad de desarrolladores que la usan la convierten en una de las mejores opciones para aquellos interesados en el desarrollo web que busquen crear aplicaciones web dinámicas y funcionales.
Si estas pensando en mejorar tu página web, no dudes en ponerte en contacto con nosotros. En Factoria Creativa te asesoraremos de la mejor manera para que tu web se adapte lo máximo posible a tus necesidades.