1 Dernière modification par Nardo26 (02-11-2012 17:18:49)

Sujet : [Résolu] Pb avec HTTP 304

Bonjour,
J'ai un message "500 internal server error" et je ne suis pas plus avancé... sad

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... smile
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... sad
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... wink