Aller au contenu

Gestion du cache par les headers


AntoineViau

Sujets conseillés

Salut à tous,

J'ai récemment fait une grosse mise à jour de mon site, notamment en virant des effets de roll-over faits en CSS. Dans l'absolu, les CSS pour le roll-over c'est génial, mais malheureusement ça passe assez mal sous IE et il faut faire des manipulations directement au niveau de la config du serveur (Apache, dans mon cas). Précisément : mauvaise gestion de cache qui fait que IE recharge une des images à chaque fois. Enfin bref, j'ai viré les roll-over...

Le problème c'est qu'avec cette mise à jour, j'ai des visiteurs qui me signalent un mauvais fonctionnement graphique : le bug IE semble "trainer" dans leur cache.

Donc moi je voudrais pouvoir signaler au niveau des headers qu'il ne faut pas utiliser le cache pour toutes les précédentes visites antérieures à une certaine date. En clair : si tu as visité mon site avant le 5 mai (par exemple), je veux que ton navigateur remette son cache à jour avec la nouvelle version du site.

J'ai commencé à lire les spécifications du W3C sur les headers (Cache-Control, Cache-Revalidation, etc.) mais j'ai pas le courage de tout me taper. Si une bonne âme qui est déjà passée par là pouvait me faire un récap' ça serait cool...

Merciiiiiiiiii

Antoine

Lien vers le commentaire
Partager sur d’autres sites

Essaies quelque chose comme ca :

// prevent caching code from php.net
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0

Lien vers le commentaire
Partager sur d’autres sites

Essaies quelque chose comme ca :

// prevent caching code from php.net
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0

<{POST_SNAPBACK}>

Nan, ça je connais... C'est pour bloquer la mise en cache systématiquement. J'y tiens pas forcément :)

Mon problème c'est que je m'y perds un peu entre "Expires" et "Last-modified".

Vais continuer à chercher...

Antoine

Lien vers le commentaire
Partager sur d’autres sites

Et ben tu laisses ça qq temps le temps que le cache de tlm se vide et tu l'enleves...

Modifié par Maxim
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...