Sujet : [Résolu] Pb avec HTTP 304
Bonjour,
J'ai un message "500 internal server error" et je ne suis pas plus avancé...
Pour comprendre un peu mieux ces histoires de gestion de cache, j'ai voulu en mettre un en place pour un répertoire contenant des images gif.
comme $_SERVER['HTTP_IF_MODIFIED_SINCE / HTTP_IF_NONE_MATCH'] n'existent pas, j'ai rajouté dans mon .htaccess (à la racine) ceci :
RewriteRule .* - [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]
RewriteRule .* - [E=HTTP_IF_NONE_MATCH:%{HTTP:If-None-Match}]
puis j'ai rajouté 2 fichiers dans mon répertoire contenant les images:
un .htaccess avec ceci:
AddHandler application/x-httpd-php .gif
php_value auto_prepend_file gzip-img.php
php_flag zlib.output_compression On
puis un gzip-img.php avec ceci (désolé pour la longueur):
<?php
function isModified($mtime, $etag) {
return !( (
isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])
&&
strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) >= $mtime
) || (
isset($_SERVER['HTTP_IF_NONE_MATCH'])
&&
$_SERVER['HTTP_IF_NONE_MATCH'] == $etag
) );
}
$myFile = $_SERVER['REQUEST_URI'];
$off7 = 60 * 60 * 24 * 3;
$lastModified = filemtime($myFile);
$eTagFile = md5_file($myFile);
header("Cache-Control: must-revalidate");
if (!isModified($lastModified,$eTagFile))
{
header("HTTP/1.1 304 Not Modified");
exit;
}
else
{
header("Content-Type: image/gif");
header('ETag: '.$eTagFile);
header("Last-Modified: ".gmdate("D, j M Y H:i:s",$lastModified).' GMT');
header("Etag: ".$eTagFile);
header("Expires: ".gmdate("D, j M Y H:i:s",time()+$off7));
header("Content-Length: ".filesize($myFile));
readfile($myFile);
exit;
}
?>
?>
Je suis dans le flou le plus complet.... si quelqu'un pouvait m'aider, cela ne serait pas un luxe...
Merci d'avance pour vos réponses !
PS: ci-joint un lien vers la page dans laquelle je fais les tests...
http://nardo26.lescigales.org/connection-ftp-25.html
Edit : j'ai essayé en local avec wamp, je ne vois rien dans les logs...
Edit2: J'ai simplifié/modifié le code mais je ne vois toujours pas mon erreur...
EDIT 3 : Je pense que je n'ai pas accès à auto_prepend_file sur les cigales.org tout simplement...