2017-07-26 91 views
0

我在我的网站上设置缓存过期日期时遇到问题。这是我在.htaccess文件中使用的代码:.htaccess缓存控制最大年龄不起作用

<FilesMatch "\.(xml|txt|css|js)$"> 
    Header set Cache-Control "max-age=7200, proxy-revalidate" 
</FilesMatch> 

我提到应该有2个小时的到期日期,但经过艰苦的刷新我看到所有这些文件有一周的到期日期的文件类型。举个例子,我选择在Chrome中的.css文件检查页,我看到这样的信息:

接受-范围:字节

缓存控制:最大年龄= 8000,代理重新验证

连接:关闭

内容编码:gzip

内容长度:20229

内容类型:text/CSS

日期:星期三,2017年7月26日9时02分31秒GMT

的ETag: “1c8c1-55513528cb363-gzip的”

到期日:星期三,2017年8月2日09 :02:31 GMT

的Last-Modified:星期一,2017年7月24日十七时12分41秒GMT

服务器:Apache

有所不同:接受编码

缓存控制最大年龄工作正常,但为什么只有一周后文件的过期日期?这是某种服务器缓存还是我做错了什么?

+0

您是否启用了AllowOveride?没有它,Apache不会处理.htaccess。 – Cyril

+0

是的,它已启用。另外据我所知,最大年龄工作,因为我看到在文件属性窗口中的值,但不知何故“过期”字段覆盖缓存过期日期。 – The50

+0

您是否检查了/ etc/apache文件夹中的* .conf文件以及目录层次结构中可能覆盖的缓存值更高的其他.htaccess文件? – Cyril

回答

0

刚发现缓存控制:max-age总是覆盖expires标签,所以一切正常。

相关问题