forcer le rafraichissement d'un document

forcer le rafraichissement d'un document - HTML/CSS - Programmation

Marsh Posté le 29-05-2019 à 14:15:10    

Bonjour,
Voilà, j'ai un gros problème.
 
J'ai des documents sur un serveur, une application permet d'envoyer un mail a une personne pour que celle-ci puisse le consulter ou le télécharger.
Le problème est que si je modifie le document, le document téléchargé reste identique.
Avant nous étions avec IE donc pour éviter cela, voici le code que j'avais
<html>
<head>
 <META Http-Equiv="Cache-Control" Content="no-cache">
        <META Http-Equiv="Pragma" Content="no-cache">
        <META Http-Equiv="Cache" Content="no store">
        <META Http-Equiv="Expires" Content="0">
 <META http-equiv="refresh" content="0; url=http://anodine17.sigmap.msanet//Anodine_Docs/2008/052008/20080518001315D.XLS">
</head>
<body>
 
</body>
</html>

 
Mais nous venons de passer sous CHROME et le document consulté est toujours le même récupéré donc problème de CACHE je suppose.
 
J'ai essayé aussi tout simple en mettant mon lien dans une balise HREF pour proposer un lien au lieu d'ouvrir le document automatiquement mais même constant. Il ne va pas chercher la derniere version du document.
 
Merci beaucoup pour votre aide

Reply

Marsh Posté le 29-05-2019 à 14:15:10   

Reply

Marsh Posté le 29-05-2019 à 14:36:05    

Changes l'url artificiellement pour tromper le cache.
url=http://anodine17.sigmap.msanet//Anodine_Docs/2008/052008/20080518001315D.XLS?nocache={une-variable-aleatoire-toujours-différente}"
La plus part du temps cette technique suffit à annuler le cache.
 
Sinon y'a aussi possibilité de carrément changer le nom du fichier et de rediriger en htaccess et/ou de faire un force download en php...


---------------
D3
Reply

Marsh Posté le 29-05-2019 à 14:39:16    

Bonjour,

 

La solution la plus simple est de changer le nom du fichier à chaque modification (par exemple en y ajoutant la date de dernière modification).

 

Sinon il faut modifier les en-têtes HTTP, cela va dépendre de comment vous générez le code HTML, et/ou de vos autorisations sur le serveur.
Si le document HTML est généré par un langage serveur alors il suffit de modifier l'en-tête renvoyé, exemple en PHP via la fonction header().
Sinon sur un serveur Apache, cela peut se faire via le fichier de config ou via un .htaccess.

 


EDIT : grillé...


Message édité par MaybeEijOrNot le 29-05-2019 à 14:39:48

---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
Reply

Marsh Posté le 29-05-2019 à 14:40:55    

Merci je vais creuser sur la variable aléatoire.
Sinon, comment forcer le download en php ?

Reply

Marsh Posté le 29-05-2019 à 14:56:01    

Parfait, avec le systeme de variable dans l'URL, ça fonctionne. Merci beaucoup

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed