如何解决Apache HTTP配置中意外的T_STR_开始正则表达式错误?

ui7jx7zq  于 2022-11-16  发布在  Apache
关注(0)|答案(1)|浏览(83)

我正在尝试通过Apache HTTP Server为会话cookie添加安全标志。代码正常工作,但当我尝试将其 Package 在IF子句中以运行此代码时(HOST来自acstest.com),代码无法编译。运行apacheclt -t时出现语法错误

<If "%{HTTP_HOST} =~ '\.acstest\.com'">
      Header edit Set-Cookie ^ACIJSESSIONID=(.*)$ "CHIJSESSIONID=$1; Secure; SameSite=None"
      Header edit Set-Cookie ^JSESSIONID=(.*)$ "JSESSIONID=$1; Secure; SameSite=None"
  </If>

错误为

Cannot parse condition clause: syntax error, unexpected T_STR_BEGIN, expecting T_REGEX or T_REGEX_I

我无法诊断错误消息。

3htmauhk

3htmauhk1#

在Apache HTTP Server中有正则表达式的替代语法,在这种情况下是必要的。
<If "%{HTTP_HOST} =~ m#\.acstest\.com#">
请访问https://httpd.apache.org/docs/trunk/expr.html#other

相关问题