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 Onpuis 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... ![]()