La función PHP header nos permite enviar encabezados sin formato al cliente (robot, navegador…). Es una manera de forzar dicho envío antes de que se lean los encabezados de la propia página.
header ( string [, bool [, int ]] )
En los siguientes ejemplos vamos a ver el uso más común del la funcion PHP header.
En el siguiente ejemplo vamos a realizar un redirect 301 sin usar la configuración de apache o un .htaccess, el código es el siguiente:
<?php // Redirect 301 Moved Permanently header("Location: /mipagina.html",TRUE,301); ?>
En las líneas superiores veréis que hago un redirect 301 de la página actual hacia ‘/mipagina.html‘ con valor true.
Pero también podéis usar .htaccess para hacer un redirect 301… el resultado es el mismo.
<?php header("Expires: Tue, 13 Jan 2005 16:00:00 GMT"); // Ponemos la fecha siempre en pasado header("Pragma: no-cache"); header("Cache-Control: no-cache"); ?>
Si la página consultada no existe, podemos forzar que la visita termine en la típica página de 404, aquí el código a poner en nuestro PHP:
<?php header("HTTP/1.0 404 Not Found"); header ('Location: /404.html'); ?>
En este caso vamos a forzar la descarga de un archivo ZIP.
header("Content-Description: File Transfer"); header("Content-Type: application/zip"); header("Content-Disposition: attachment; filename=archivo.zip;"); //Tamaño del archivo en bytes header("Content-Length: TAMAÑO ARCHIVO en bytes"); header("Content-Transfer-Encoding: binary"); readfile("archivo.zip"); exit;
header("X-Robots-Tag: noindex, nofollow", true);
En esta línea estamos diciendo al robot que no indexe ni siga los enlaces de la página. Le podemos cambiar los parametros de ‘noindex‘ y ‘nofollow‘ por cualquiera de las directrices que se ponen para los robots.
Espero que este post os haya servidor para conocer algo más la función PHP header.