J'utilise Apache 2.2.16.
J'ai le fichier HTML suivant dans mon dossier htdocs:
<html>
<link media="screen" type="text/css" href="/css/test.css" rel="stylesheet" />
<body>XXXX</body>
</html>
J'essaie de créer le cache de fichiers CSS dans mon navigateur afin qu'il n'en fasse pas une autre demande, à l'exception du premier chargement de page.
Cependant, chaque fois que j'appuie sur l'actualisation, je constate que le fichier CSS est chargé à nouveau depuis le serveur. Je vois 200 codes de réponse pour le fichier dans les journaux de mon serveur.
J'ai le suivant dans mon fichier httpd.conf:
<LocationMatch "\.(css)$">
Header set Cache-Control "max-age=2592000"
Header set Expires "Thu, 15 Apr 2020 20:00:00 GMT"
Header unset Last-Modified
Header set Content-Type text/css
Header unset ETag
</LocationMatch>
Voici les en-têtes de réponse rapportés par Firebug:
Date Mon, 29 Nov 2010 10:48:49 GMT
Server Apache/2.2.16 (Win32)
Accept-Ranges bytes
Content-Length 18107
Cache-Control max-age=2592000
Expires Thu, 15 Apr 2020 20:00:00 GMT
Content-Type text/css
Keep-Alive timeout=5, max=97
Connection Keep-Alive
J'ai lu quelques articles sur la définition des en-têtes de cache, mais je ne vois pas comment le faire fonctionner.
Tout conseil grandement apprécié.
J'utilise les éléments suivants:
ExpiresActive on
ExpiresDefault "access plus 24 hours"
ExpiresByType image/jpg "access plus 1 months"
ExpiresByType image/gif "access plus 1 months"
ExpiresByType image/jpeg "access plus 1 months"
ExpiresByType image/png "access plus 1 months"
ExpiresByType text/css "access plus 1 months"
ExpiresByType text/javascript "access plus 1 months"
ExpiresByType application/javascript "access plus 1 months"
ExpiresByType application/x-shockwave-flash "access plus 24 hours"
C'est assez facile à maintenir.