努力的ExpiresDefault ExpiresByType,这样的方式会被缓存添加到内容在我的网站。我使用缓存无效化的URL(在路径中的版本号)为Javascript,CSS和图像,所以这样我可以将其设置为永远这些MIME类型。我在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头看标题我得到了我觉得应该是正确过期的CSS:截止日期:孙老师,2019年2月3日17时52分48秒GMT

但是我用雅虎的YSlow的扩展Firebug,它仍然给我一个F不使用过期!难道我做错了什么?我还使用我的网站上gravatars,但他们已经过期时间设置。好像一切都有一个到期。它是YSlow的还是我?

有帮助吗?

解决方案

您的JavaScript文件被发送出去作为application/x-javascript,所以没有得到远的将来Expires头。

其他提示

不要依赖于工具,如果您的网站运行速度快与否来判断。我已经受够了做很多事情离奇的(就像YUI) - 如果它是给你一个假阳性,您的网站运行良好,你有没有一个抱怨的速度 - 你最有可能没有一个速度问题。看到的最好的方式,如果事情cacheing都看在Firebug的请求或其他工具,因为他们走出去,如果你不要求它和检索它,然后它没有过期。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top