利用浏览器缓存

5

我有一个网站,当我使用谷歌插件检查页面速度时,出现以下提示:

利用浏览器缓存 以下资源缺少缓存过期时间

我应该在哪里更改这些设置呢?


1
你使用的平台是什么?(IIS,Apache等)?它所指的文件类型是什么? - Michael Haren
嗯?我使用WordPress和GoDaddy博客。我想说的是Apache。 - Daniel
3个回答

15

编辑.htaccess文件并添加以下内容:

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
</IfModule>

这个链接可以帮助你:http://www.quickonlinetips.com/archives/2010/05/leverage-browser-caching-increase-website-speed/


2

利用浏览器缓存

通过将常用文件存储在访问者的浏览器中,减少页面加载时间。

要启用浏览器缓存,您需要编辑HTTP标头以设置某些类型文件的过期日期。

在域名的根目录下找到.htaccess文件,这个文件是一个隐藏文件,但应该会显示在FTP客户端(如FileZilla或CORE)中。您可以使用记事本或任何基本文本编辑器编辑htaccess文件。

在此文件中,我们将设置缓存参数,以告诉浏览器要缓存哪些类型的文件。

以下代码告诉浏览器缓存什么以及要“记住”多长时间。 它应该添加到您的.htaccess文件的顶部。

## EXPIRES CACHING ##
&lt;IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresDefault "access plus 2 days"
&lt;IfModule>
## EXPIRES CACHING ##

建议:

  • 对所有静态资源尽可能采用高效缓存
  • 至少设置为一个月的过期时间
  • 不要将缓存设置超过一年!

参考链接:http://websitespeedoptimizations.com/LeverageBrowserCaching.aspx


只是提醒一下,该URL已经失效了。我现在在这里阅读 https://varvy.com/pagespeed/leverage-browser-caching.html - ChristinaD

0
更好的处理利用浏览器缓存的方法是使用.htaccess文件和FILEMATCH指令。以下是您可以放入网站内部.htaccess的快速代码。这是一个快速修复,不需要进一步更改,除非您有其他问题。
<IfModule mod_expires.c>
   ExpiresActive On
   ExpiresDefault A0
   <FilesMatch "\.(txt|xml|js)$">
   ExpiresDefault A691200
   </FilesMatch>
   <FilesMatch "\.(css)$">
   ExpiresDefault A691200
   </FilesMatch>
   <FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav|mp4|m4v|ogg|webm|aac)$">
   ExpiresDefault A691200
   </FilesMatch>
   <FilesMatch "\.(jpg|jpeg|png|gif|swf|webp)$">
   ExpiresDefault A691200
   </FilesMatch>
</IfModule>
<IfModule mod_headers.c>
   <FilesMatch "\.(txt|xml|js)$">
   Header set Cache-Control "max-age=691200"
   </FilesMatch>
   <FilesMatch "\.(css)$">
   Header set Cache-Control "max-age=691200"
   </FilesMatch>
   <FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav|mp4|m4v|ogg|webm|aac)$">
   Header set Cache-Control "max-age=691200"
   </FilesMatch>
   <FilesMatch "\.(jpg|jpeg|png|gif|swf|webp)$">
   Header set Cache-Control "max-age=691200"
   </FilesMatch>
</IfModule>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接