YSlow的还是没有给我一个用于在apache httpd的expires头,即使我加入他们
-
21-08-2019 - |
题
努力的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的请求或其他工具,因为他们走出去,如果你不要求它和检索它,然后它没有过期。
不隶属于 StackOverflow