Configuration fine
Dans un premier temps, on active le module mod_expires d’Apache si ce n’est déjà fait :
- sudo a2enmod expires
Puis on lui crée un fichier de configuration dédié :
- sudo nano /etc/apache2/conf.d/expires
Dans lequel on ajoute ce contenu :
- <IfModule mod_expires.c>
- ExpiresActive On
- ExpiresDefault "access plus 1 month"
- # Médias : images, video, audio
- ExpiresByType image/gif "access plus 1 month"
- ExpiresByType image/png "access plus 1 month"
- ExpiresByType image/jpg "access plus 1 month"
- ExpiresByType image/jpeg "access plus 1 month"
- ExpiresByType video/ogg "access plus 1 month"
- ExpiresByType audio/ogg "access plus 1 month"
- ExpiresByType video/mp4 "access plus 1 month"
- ExpiresByType video/webm "access plus 1 month"
- # Même si présent dans pas mal de tutos, pose problème :
- # http://core.spip.org/issues/2537
- ExpiresByType text/html "access plus 0 seconds"
- ExpiresByType text/cache-manifest "access plus 0 seconds"
- # Data
- ExpiresByType text/xml "access plus 0 seconds"
- ExpiresByType application/xml "access plus 0 seconds"
- ExpiresByType application/json "access plus 0 seconds"
- # Feed RSS et Atom
- ExpiresByType application/rss+xml "access plus 1 hour"
- ExpiresByType application/atom+xml "access plus 1 hour"
- # Favicon
- ExpiresByType image/x-icon "access plus 1 week"
- # Webfonts
- ExpiresByType application/x-font-ttf "access plus 1 month"
- ExpiresByType font/opentype "access plus 1 month"
- ExpiresByType application/x-font-woff "access plus 1 month"
- ExpiresByType image/svg+xml "access plus 1 month"
- ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
- # CSS and JavaScript
- ExpiresByType text/css "access plus 1 year"
- ExpiresByType application/javascript "access plus 1 year"
- ExpiresByType text/javascript "access plus 1 year"
- </IfModule>
Il est ensuite nécessaire de redémarrer Apache de la sorte :
- sudo /etc/init.d/apache2 restart
Quelques explications sur les directives ci-dessus
ExpiresActive : active ou désactive la génération des en-têtes Expires et Cache-Control des documents. Sa valeur peut être On ou Off.
ExpiresDefault : définie le temp d’expiration par défaut de tous les documents, s’ils ne sont pas redéfinis ensuite par des directives ExpiresByType.
ExpiresByType : permet de définir au cas par cas par type de document le temps d’expiration.
Pour une description complête de ses directives et la compréhension du fichier exemple ci-dessus, vous pouvez vous référer à la documentation Apache de référence.
# On 17 February at 22:11 Replying to: Expire headers
J’ai du désactiver
ExpiresByType text/html "modified plus 1 week"notamment à cause de http://core.spip.org/issues/2537 et aussi parce que le privé de SPIP était mis en cache par le navigateur. Assez perturbant.Reply to this message
# On 30 March at 17:24, by Quentin Drouet Replying to: Expire headers
Ok, je l’ai viré et j’ai mis 1 mois pour js et css
Reply to this message
# On 31 March at 16:18, by b_b Replying to: Expire headers
Hop, je ne sais pas si c’est voulu, mais tu as collé un an pour les js et css là kent1.
++
Reply to this message
# On 31 March at 17:14, by Quentin Drouet Replying to: Expire headers
Ouep c’est voulu... ce sont des ressources qui ne changent pas beaucoup... en général
Et il est mieux à ce moment là de les suffixer par un timestamp (cas sans compression dans Zpip au moins par exemple) ou de changer leur nom (cas de compression dans SPIP par exemple)...
Mais bon tu es grand (enfin presque) donc tu fais comme tu veux ;)
Reply to this message