我认为 Apache 将这些 HTTP header 添加到 PHP 脚本生成的所有响应中:
Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
这对于实际的动态页面工作正常,但我有一些页面,虽然由 PHP 生成,但大部分是静态的,我希望浏览器缓存它们。
在 PHP 中是否有一种方法可以从响应中删除这些 header ,从而激活浏览器的默认缓存规则,或者如果没有,我可以将它们设置为等同于它们不存在的值吗?
我不想设置自己的值,因为我希望浏览器使用与 Apache 本身提供的静态资源相同的缓存规则(不使用 mod_cache)。
最佳答案
对于那些特定的文件,您可以添加 header() 调用以不同方式设置这些 header 。 IE。 header("Expires: ". $currentDatePlus10);
header("Cache-Control: max-age=3600, must-revalidate")
关于PHP 删除 HTTP header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1937581/