J'ai lu plusieurs guides sur la façon d'écrire le fichier htaccess pour la mise en cache, mais sans succès. Je suppose que j'ai écrit quelque chose de mal et j'ai besoin d'aide pour trouver ce que j'ai fait de mal. Voici mon fichier htaccess:
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_Host} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_Host}/$1 [R=301,L]
# 1 YEAR - doesn't change often
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
Header set Cache-Control "proxy-revalidate, max-age=31536000"
</FilesMatch>
# 1 WEEK - possible to be changed, unlikely
<FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "proxy-revalidate, max-age=604800"
</FilesMatch>
# 3 HOUR - core content, changes quickly
<FilesMatch "\.(txt|xml|js|css)$">
Header set Cache-Control "proxy-revalidate, max-age=10800"
</FilesMatch>
Le non-www to www rewrite fonctionne très bien
Essayez d’utiliser la syntaxe mod_expires en utilisant quelque chose comme:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 2 week"
ExpiresByType image/jpeg "access 2 week"
ExpiresByType image/gif "access 2 week"
ExpiresByType image/png "access 2 week"
ExpiresByType text/css "access 2 week"
ExpiresByType text/html "access 1 hour"
ExpiresByType application/pdf "access 2 week"
ExpiresByType text/x-javascript "access 2 week"
ExpiresByType application/x-shockwave-flash "access 2 week"
ExpiresByType image/x-icon "access 1 month"
ExpiresDefault "access 2 week"
</IfModule>