在Apache 2.2.15的全局configuration部分,我有以下(每个build议 )
<IfModule mod_headers.c> Header add Strict-Transport-Security "max-age=15768000;includeSubDomains" env=HTTPS </IfModule>
我只想在请求不是针对特定的主机(dev.host.com)的时候才添加这个头文件。 只有当不是针对特定的主机时,我使用哪个指令来使标题添加 ?
PS:这个问题的第二部分已经被移动了 。
如果您仅在VirtualHost指令中包含IfModule指令xxxx:443,那么它将仅适用于该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>
在Apache 2.2中,你可能会玩像下面这样的东西。
设置env来识别一般情况并排除特定情况:
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>