Dans votre .htaccess racine:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
ExpiresByType text/html "access plus 600 seconds"
ExpiresByType application/xhtml+xml "access plus 600 seconds"
</IfModule>
Et suivre par:
<IfModule mod_headers.c>
<FilesMatch "\\.(ico|jpe?g|png|gif|swf)$">
Header set Cache-Control "max-age=2692000, public"
</FilesMatch>
<FilesMatch "\\.(css)$">
Header set Cache-Control "max-age=2692000, public"
</FilesMatch>
<FilesMatch "\\.(js)$">
Header set Cache-Control "max-age=216000, private"
</FilesMatch>
<FilesMatch "\\.(x?html?|php)$">
Header set Cache-Control "max-age=600, private, must-revalidate"
</FilesMatch>
Header unset ETag
Header unset Last-Modified
</IfModule>
C'est exactement le même code que j'utilise sur chaque propriété que je gère et m'offre (et PageSpeed) les résultats les plus satisfaisants. On peut argumenter sur des règles spécifiques, c'est pourquoi j'ai dit qu'il satisfait moi, mais il satisfait certainement PageSpeed.
Cela dépend de ce que vous entendez par "beaucoup de conditions". Les conditions doivent être traitées par le serveur web sur chaque requête HTTP, donc si vous pensez à plus de 65 000 conditions, alors ce n'est certainement pas une bonne idée. – methode
Juste un conseil. Vous pouvez simplement écrire "accès plus 1 an" ou même des directives plus complexes comme "accès plus 1 mois 15 jours 2 heures" qui est beaucoup plus facile à lire et à maintenir que quelques secondes. – GeneQ
@GeneQ, +1 pour cette astuce. Je suis habitué à un timestamp unix, c'est probablement la raison pour laquelle j'utilise des secondes dans les règles. – methode