【发布时间】:2018-06-22 22:33:39
【问题描述】:
我正在尝试使用 Apache 2.2.31 设置具有以下内容的 .htaccess 文件:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
这工作正常,但不适用于 PHP 文件。标头被发送两次。我创建了一个 empty HTML 文件和一个 empty PHP 文件。对于 HTML 文件,标头已正确发送,但当我请求 PHP 文件时,标头在响应中出现两次。
如果我删除 always 关键字,则标头会发送一次,但如果发生错误则根本不会发送。
没有定义其他重写/重定向。 不幸的是,我无法访问 Apache 核心配置,但也许有人遇到了同样的问题,所以我可以联系我的提供商。
【问题讨论】:
-
是的,无论如何都要联系您的房东。此类问题取决于 SAPI,例如 FastCGI 包装器。
-
好的,我试图弄清楚我做错了太久了。 :(
-
跨浏览器是否如此?我知道一些使用 Google Chrome 的实例会导致 PHP 页面在给出无效标题时加载两次。
-
使用最新版本的 Chrome 和 Opera,我得到了相同的结果。 Microsoft Edge 合并“max-age=31536000; includeSubDomains; preload, max-age=31536000; includeSubDomains; preload”之类的值。令人惊讶的是,Firefox 只显示了一个值,但我认为它忽略了第一个值。使用其他一些请求工具,我也获得了两次标头。
标签: php html apache .htaccess mod-headers