Sta*_*bie 23 performance .htaccess pagespeed
我在我的网站上运行Google PageSpeed,它告诉我需要
"指定缓存验证程序".
以下资源缺少缓存验证程序.无法有效刷新未指定缓存验证程序的资源.指定Last-Modified或ETag标头以为以下资源启用缓存验证:
...然后列出图像,CSS,JS等.
根据http://code.google.com/speed/page-speed/docs/caching.html#LeverageBrowserCaching:
将Last-Modified日期设置为上次更改资源的时间.如果Last-Modified日期在过去足够远,浏览器可能不会重新获取它.
我的.htaccess中有以下内容:
<IfModule mod_headers.c>
<FilesMatch "\.(bmp|css|flv|gif|ico|jpg|jpeg|js|pdf|png|svg|swf|tif|tiff)$">
Header set Last-Modified "Tue, 31 Aug 2010 00:00:00 GMT"
</FilesMatch>
</IfModule>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
aul*_*ron 16
我认为你遇到的问题是,Expire:而不是Last-Modified:.默认情况下,Apache会Last-Modified:根据文件日期发送文件头.我建议删除上面的代码并用以下内容替换它:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 year"
</IfModule>
Run Code Online (Sandbox Code Playgroud)
尝试使用它,如果它不起作用,请尝试添加它:
<IfModule mod_headers.c>
<FilesMatch "\.(bmp|css|flv|gif|ico|jpg|jpeg|js|pdf|png|svg|swf|tif|tiff)$">
Header set Last-Modified "Mon, 31 Aug 2009 00:00:00 GMT"
</FilesMatch>
</IfModule>
Run Code Online (Sandbox Code Playgroud)
要"设置缓存验证器",您需要在标头中发送以下内容:
Expires 要么 Cache-Control: max-age
和
Last-Modified 要么 ETag
因此,例如,在PHP中,您可以为CSS和JS文件添加以下内容:
<filesMatch "\.(js|css)$">
Header set Expires "Thu, 21 May 2013 20:00:00 GMT"
Header set Last-Modified "Thu, 21 May 2012 20:00:00 GMT"
</filesMatch>
Run Code Online (Sandbox Code Playgroud)
这将满足谷歌的Pagespeed计算器.
| 归档时间: |
|
| 查看次数: |
81389 次 |
| 最近记录: |