Estoy usando un script PHP para servir archivos. Me gustaría poder devolver un 304
encabezado no modificado en mi respuesta HTTP si el archivo no ha cambiado desde que el cliente lo descargó por última vez. Esta parece ser una característica en Apache (y la mayoría de los otros servidores web), pero no tengo idea de cómo esto puede implementarse a través de PHP.304: Caché no modificado y front-end
He oído hablar del uso de $_SERVER['HTTP_IF_MODIFIED_SINCE']
, pero esta variable no parece aparecer en mi superrsenal $_SERVER
.
Mi pregunta no es cómo devolver un encabezado 304
, pero cómo saber que se debe devolver.
Editar: El problema es que mi $_SERVER['HTTP_IF_MODIFIED_SINCE']
no está establecida. Este es el contenido de mi archivo .htaccess
:
ExpiresActive On
ExpiresByType image/jpeg "modification plus 1 month"
ExpiresByType image/png "modification plus 1 month"
ExpiresByType image/gif "modification plus 1 month"
Header append Cache-Control: "must-revalidate"
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond $1 !^(controller\.php)
RewriteRule (.*\.jpg|.*\.png|.*\.gif) controller.php/$1
</IfModule>
HTTP_IF_MODIFIED_SINCE
sigue sin aparecer en la matriz súper $_SERVER
.
He visto esta manera de hacer esto, pero $ _SERVER ['HTTP_IF_MODIFIED_SINCE'] siempre está vacío para mí ... –
Revise mi edición reciente - Olvidé una parte de la información de configuración de Apache importante. –
Intenté modificar mi archivo htaccess.txt según http://www.webmasterworld.com/forum23/2300.htm, pero no voy. ¿Algunas ideas? –