Je constate que les images de mes pages Web sont toujours chargées à partir de mon serveur, même si elles ne changent jamais. Comme ce sont des images et non des pages, je ne peux pas inclure de date d'expiration pour elles. Comment puis-je dire aux navigateurs d'éviter de recharger leurs images?
Mise à jour:
Dans PHP j'ai essayé d'utiliser ceci:
header ("ExpiresByType image/gif \"modification plus 10 minutes\"");
mais cela provoque une erreur de serveur interne.
Votre en-tête est incorrect. Ici est de la documentation. Il devrait être Expires
comme dans:
header("Expires: Thu, 30 May 2013 11:26:00 GMT");
Vous le générez généralement dans PHP comme ceci:
header('Expires: '.date('D, d M Y H:i:s', time() + 60*10).' GMT');
Il n'est pas nécessaire de mettre un type car ce n'est pas pertinent. L'en-tête s'applique simplement au résultat que vous servez. Vous pouvez également utiliser le en-tête max-age à la place :
header('Cache-Control: max-age=600');
ExpiresByType
est une directive Apache, pas PHP. En règle générale, vous placerez ceci dans un fichier .htaccess
situé dans le même dossier que les images (ou dans le vhost):
ExpiresByType image/gif "modification plus 10 minutes"
Le module Apache mod_expires
doit être activé pour que cela fonctionne.