Comment empêcher la mise en cache des fichiers par le navigateur

Claude.FR.CH

Membre actif
29 Août 2002
462
0
France-Jura 39
Bonjour,

Voici mon soucis : j'ai sur mon site une page écrite en html que je mets à jour régulièrement hélas quand je retourne sur mon site, la page qui se charge n'est pas la nouvelle mais l'ancienne. Je précise qu'il en est de même pour mes visiteurs.

Comment faire pour que la page qui se charge soit toujours la nouvelle et non celle du cache ?

Merci d'avance.
 
Bonjour. Rafraîchir la (les) page(s). Idem pour les visiteurs (si on ne veut pas se servir d'un script)...
 
Bonj...soir !
Si tu n'as pas trouvé ta réponse et que je pense bien comprendre :

Tu ne veux pas déclencher un rechargement automatique de ta page comme propose flippy mais tu veux préciser au navigateur de nettoyer le cache qui correspond à ta page.

Il y a plusieurs solutions à ce problème.
Le plus simple (mais le moins propre à mon avis) c'est d'inclure les balises
HTML:
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="pragma" content="no-cache" />
...dans le <head> de ton document html.
Cela aura pour effet de ne plus du tout mettre en cache le html de ta page. Ce qui n'est pas forcément la meilleure solution, c'est à toi de voir.

Autrement si tu utilise un serveur Apache et que tu peux utiliser un fichier ".htaccess" (tous les hébergeur ne le permettent pas), une solution plus propre est d'indiquer dans un fichier .htaccess placé à la racine de ton arborescence web ou dans le dossier qui contient ta page :
Bloc de code:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 7200 seconds"
ExpiresByType text/html "access plus 7200 seconds"
</IfModule>
Cette directive permet de dire au navigateur de ne garder en cache la page que 7200 secondes.
Malheureusement il faut que tu choisisse une valeur qui corresponde au rythme de tes modifications. La page ne sera rechargé depuis le serveur qu'après ce temps écoulé. Mais au moins cela te permet de savoir la durée précise. ;-)


... Autrement on peu voir du côté du "Cache busting" mais ça devient compliqué ;-)

En espérant ne pas avoir été trop confus dans mes explications !
 
Bonjour,
merci pour cette réponse, j'ai pour l'instant les balises Meta, pour le .access je regarderai à mon retour, car je suis en voyage camping car dans la région du cap nord et reviens vers la fin août
 
dans le .htaccess d'apache

FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>