Question

J'ai couru des tests sur mon site web à l'aide de Google PageSpeed et il recommande que je "effet de Levier de mise en cache du navigateur" et à condition de ressources suivants:

http://code.google.com/speed/page-speed/docs/caching.html#LeverageBrowserCaching

Cette ressource n'explique jamais comment modifier la date d'expiration de mon en-têtes http.Dois-je le faire à travers .htaccess?Je voudrais configurer la mise en cache pour aussi longtemps que possible (sans violer le règlement Google de un an max).

Tous les conseils sur les paramètres recommandés (pour un custom php communauté de réseautage social) serait grandement apprécié.

Était-ce utile?

La solution

Dans votre racine .htaccess:

<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 de suivre en:

<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 tous les biens-je gérer et me propose (et PageSpeed) la plupart des résultats satisfaisants.On peut argumenter sur des règles spécifiques, c'est pourquoi j'ai dit qu'il satisfait moi, mais elle a certainement satisfait PageSpeed.

Autres conseils

Il peut être fait avec les deux htaccess et php.En général, vous ne voulez pas de forcer la mise en cache le code html réel depuis sa dynamique de bases de données de contenu (il peut être fait avec l' header() fonction php si nécessaire).Ce que vous voulez de cache externe css & javascript et des fichiers d'image.

Voir ici pour une .htaccess solution: http://www.askapache.com/htaccess/apache-speed-expires.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top