Vous n'êtes pas identifié. Veuillez vous connecter ou vous inscrire.


Ecrire une réponse

Ecrire une réponse

Composez et envoyez votre nouvelle réponse

Vous pouvez utiliser : BBCode Images Binettes

Les champs marqués %s doivent être remplis avant d'envoyer ce formulaire.

Information obligatoire pour les invités


Information obligatoire

Revue du sujet (plus récents en tête)

1

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



Currently used extensions: pun_poll, pun_admin_manage_extensions_improved. Copyright © 2008 PunBB