答案1
如果您仅在 xxxx:443 的 VirtualHost 指令中包含 IfModule 指令,那么它将仅适用于该 VirtualHost,并且仅适用于 https 协议。
你可以尝试指令
<If "%{HTTP_HOST} = 'www.dev.domain.com'"> <IfModule mod_headers.c> Header unset Strict-Transport-Security Header always set Strict-Transport-Security "max-age=0;includeSubDomains" </IfModule> </If>
答案2
在 Apache 2.2 中您可能可以使用类似下面的内容。
设置环境来识别一般情况并排除特定情况:
SetEnvIf HTTPS do_work_on_headers SetEnvIf Host "^www.myexcludedhostname.tld$" !do_work_on_headers
然后有条件地设置标题:
<IfModule mod_headers.c> Header add Strict-Transport-Security "max-age=15768000;includeSubDomains" env=do_work_on_headers </IfModule>