我知道我可以使用mod_expires添加expires标头。但是,如果Apache服务器没有安装mod_expires并且我不想通过像PHP这样的脚本语言来访问文件,我该怎么办?
答案 0 :(得分:7)
您可以使用mod_header手动设置标题字段:
Header set Expires "..."
但由于Expires需要absolute time,因此请使用Cache-Control的 max-age 参数来查看与访问时间相关的时间:
Header merge Cache-Control max-age=3600
答案 1 :(得分:1)
如果您有静态Expires标头,则以下内容将为您的js和css文件添加Expires标头:
<FilesMatch "\.(js|css)$">
Header set Expires "Fri, 01 Jan 2010 00:00:00 GMT"
</FilesMatch>
答案 2 :(得分:1)
这应该告诉浏览器在后续访问时刷新页面。过期日期必须在过去...您可以使用PHP设置日期以使其在过去“只是”,或者只是将其保留为您找到此答案的日期!!!
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Thu, 2 Sep 2010 05:00:00 GMT");
更新:道歉 - 我错过了关于通过PHP路由文件的句子中的“不要”!您还可以使用这些HTML元标记:
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="expires" content="Thu, 2 Sep 2010 05:00:00 GMT">