我正在尝试使用远期未来的expires方法来减少我的网站的加载时间。
然而,当我在firefox中访问静态文件时,服务器仍然响应HTTP / 1.x 304 NOT MODIFIED。如果文件缓存正确,甚至不应该提出请求?
以下是我对apache 2.2的相关httpd.conf行:
LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
<FilesMatch "\.(ico|pdf|flv|jpe?g|png|gif|js|css|swf)$">
ExpiresActive On
ExpiresDefault "access plus 1 year" </FilesMatch>
YSlow表示,没有一个静态文件具有远期到期日期。有谁知道我做错了什么?
答案 0 :(得分:3)
我不确定ExpiresActive On
是否属于FilesMatch指令。我已经完成了同样的事情,我把它放在外面。
从文档来看,它看起来不属于那里:
http://publib.boulder.ibm.com/httpserv/manual60/mod/mod_expires.html#expiresactive
我在使用静态文件的目录上设置了expires标头:
ExpiresActive On
<Directory /path/to/static/files>
ExpiresDefault "access plus 6 months"
Header append Cache-Control public
</Directory>
答案 1 :(得分:0)
将此行添加到您的conf:
FileETag none
(虽然确保它仅适用于您的静态文件,因为etag对您的动态Django视图仍然有用)