添加没有mod_expires的expires头?

时间:2010-09-02 10:05:31

标签: apache .htaccess mod-expires

我知道我可以使用mod_expires添加expires标头。但是,如果Apache服务器没有安装mod_expires并且我不想通过像PHP这样的脚本语言来访问文件,我该怎么办?

3 个答案:

答案 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">