相关疑难解决方法(0)

使用mod_headers与php-fpm/mod_fastcgi的问题

我正在尝试在我的应用中为每个响应添加HSTS标头.

我的第一个想法是使用mod_headers - 我将此指令放在documentroot的.htaccess文件中:

Header set Strict-Transport-Security "max-age=7776000"
Run Code Online (Sandbox Code Playgroud)

这在使用Apache 2.2和mod_php的本地设置上工作正常.所有资源都使用适当的HSTS标头进行响应.

我的部署环境使用Apache 2.2和mod_fastcgi,上述技术适用于 php文件之外的任何资源.

另一个SO 问题有一个类似的问题,传入的请求(?)有剥离标题 - 但我担心修改响应的标题离开服务器.

如何在.htaccess文件的上下文中向PHP资源添加响应头?

php apache .htaccess fastcgi

10
推荐指数
1
解决办法
1706
查看次数

Apache 不会为 PHP 脚本设置标头

这个.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>
Run Code Online (Sandbox Code Playgroud)

...在我的开发框(Windows框,Apache/2.4.10,PHP作为Apache模块运行)中按预期工作,其中“有效”意味着它为所有资源(静态或动态)生成适当的标头。

但是,在我的生产服务器(Linux 机器,Apache/2.2.31,PHP 作为 FastCGI 与 mod_fcgid/2.3.9 运行)中,它仅适用于静态资产,不适用于 PHP 脚本。

我怀疑差异来自 PHP SAPI 是否正确?有没有办法修复它,这样我就不需要复制生成 HTTP 标头的代码?

php apache mod-fcgid mod-expires mod-headers

5
推荐指数
1
解决办法
3368
查看次数

标签 统计

apache ×2

php ×2

.htaccess ×1

fastcgi ×1

mod-expires ×1

mod-fcgid ×1

mod-headers ×1