【发布时间】:2015-11-15 19:36:54
【问题描述】:
这个.htaccess 文件:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 4 month"
</IfModule>
<IfModule mod_headers.c>
Header merge X-ModHeaders "Yes, it is installed"
</IfModule>
... 在我的开发框(Windows 框,Apache/2.4.10,作为 Apache 模块运行的 PHP)中按预期工作,其中“工作”意味着它为所有资源(静态或动态)生成适当的标头。
但是,在我的生产服务器(Linux 机器,Apache/2.2.31,PHP 作为 FastCGI 和 mod_fcgid/2.3.9 运行)中,它仅适用于静态资产,不适用于 PHP 脚本。
我是否正确怀疑差异来自 PHP SAPI?有没有办法修复它,所以我不需要复制生成 HTTP 标头的代码?
【问题讨论】:
-
PHP 可以编辑标题,但这并不意味着默认情况下会。无论如何,您仍然应该得到这些
-
认为这里的答案适用:serverfault.com/questions/383011/… ... 没有深入研究,但阅读了它引用的那些错误报告。
-
您的生产设备是否使用共享主机?这可能会阻止您更改某些 apache 模块...
-
@ficuscr 这当然是我的问题,但到目前为止唯一的答案声称它不是一个错误并链接了一张谈论其他事情的票。哎呀..
-
@LucLaverdure - 是的,它是共享主机。如果它是专用服务器,我究竟能改变什么?
标签: php apache mod-expires mod-fcgid mod-headers