确定 HTTPS 状态并在一行中设置 Header

确定 HTTPS 状态并在一行中设置 Header

我希望设置一个响应标头,.htaccess但仅当网站通过 HTTPS 加载时:

Header set MyHeader "%D %t" "%{HTTPS:on}"
# Error: Unknown parameter: %{HTTPS:on}

Header set MyHeader "%D %t" "expr=%{HTTPS:on}"
# Error: syntax error, unexpected $end: Function 'HTTPS' does not exist

Header set MyHeader "%D %t" "expr=%{HTTPS}==on"    
# Error: syntax error, unexpected $end, expecting '('

HTTPS被列为这里有一个变量

PS:我真的很难理解Apache 表达式有效,所以如果有人遇到过带有很好示例的简单介绍,请分享。

答案1

使用<If>子句,它应该在以下情况下起作用.htaccess

<If "%{HTTPS} == 'on'">
    Header set MyHeader "%D %t"
</If>

参考:
http://httpd.apache.org/docs/2.4/mod/core.html#if

相关内容