即使我添加了它们,yslow仍然没有在apache httpd中给我一个A for expires标头

时间:2009-02-05 18:03:47

标签: http-headers apache yslow mod-expires

尝试将ExpiresDefault ExpiresByType添加到我网站上的内容中,以便缓存它。我在Javascript,CSS和图像的URL(路径中的修订号)中使用cachebusting,这样我就可以将这些mimetypes设置为永久。我在apache httpd:

中设置了以下规则
  ExpiresActive On
  ExpiresDefault "access plus 1 minutes"
  ExpiresByType image/gif "access plus 10 years"
  ExpiresByType image/png "access plus 10 years"
  ExpiresByType image/jpeg "access plus 10 years"
  ExpiresByType image/jpg "access plus 10 years"
  ExpiresByType text/javascript "access plus 10 years"
  ExpiresByType text/css "access plus 10 years"

然后当我访问我的网站http://karmerd.com并使用httplive标题来查看标题时,我得到了我认为应该是正确的exps for css:Expires:Sun,03 Feb 2019 17:52:48 GMT

但我使用雅虎的Yslow firebug扩展程序,它仍然给我一个不使用Expires的F!难道我做错了什么?我也在我的网站上使用gravatars,但他们有Expires设置。好像一切都过期了。是Yslow还是我?

2 个答案:

答案 0 :(得分:8)

您的javascript文件以application/x-javascript发送,因此未获得远期Expires标头。

答案 1 :(得分:2)

不要依赖该工具来判断您的网站是否运行得很快。我已经做了很多古怪的事情(就像yui) - 如果它给你一个误报,你的网站运行正常,你没有人抱怨速度 - 你很可能没有速度问题。查看事物是否正在缓存的最佳方法是在外观时查看firebug或其他工具中的请求,如果您没有请求它并检索它,那么它还没有过期。