Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex Apache正则表达式运算符~=似乎失败_Regex_Apache - Fatal编程技术网

Regex Apache正则表达式运算符~=似乎失败

Regex Apache正则表达式运算符~=似乎失败,regex,apache,Regex,Apache,我正在使用If指令为我的站点编辑apacheconf,以设置一些头(例如),但匹配正则表达式运算符的字符串会导致语法问题 例如: <If "%{HTTP_USER_AGENT} =~ RBTools.*"> Header set test_header %{HTTP_USER_AGENT}e Require all granted MellonEnable "off" </If> 标头集

我正在使用If指令为我的站点编辑apacheconf,以设置一些头(例如),但匹配正则表达式运算符的字符串会导致语法问题

例如:

<If "%{HTTP_USER_AGENT} =~ RBTools.*">
       Header set test_header %{HTTP_USER_AGENT}e
       Require all granted
       MellonEnable "off"
</If>

标头集测试\u标头%{HTTP\u用户\u代理}e
要求所有授权
可软化的“关闭”
给出If语句的语法错误。我试着用许多其他方式将其封装起来,如:

<If "'%{HTTP_USER_AGENT}' =~ RBTools.*">
<If "%{HTTP_USER_AGENT} =~ 'RBTools.*'">
<If "'%{HTTP_USER_AGENT}' =~ 'RBTools.*'">
<If %{HTTP_USER_AGENT}' "=~" RBTools.*>
<If "%{HTTP_USER_AGENT}' '=~' RBTools.*">


在正则表达式之前需要有一个斜杠,如:

<If "%{HTTP_USER_AGENT} =~ /RBTools/">

我试着去做

# FAILS
<If "%{HTTP_USER_AGENT} =~ Chrome/">
# SUCCEEDS
<If "%{HTTP_USER_AGENT} =~ /Chrome/">
#失败
#成功
这给了我同样的暗示