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-available/expires.conf
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 :
- # https://core.spip.net/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 d’activer le fichier de configuration et de redémarrer Apache de la sorte :
- sudo a2enconf expires
- 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.