以“/ start /”开头但不以“end1”或“end2”结尾的正则表达式

时间:2011-10-24 17:10:48

标签: regex apache location httpd.conf

我试图制定一个正则表达式,用于httpd.conf文件中Apache Web服务器配置的“Location”指令。

<Location ~ "/start/.*(?!end1|end2)$"> 
    Order Deny,Allow
    Deny from all
    Allow from foo.com
</Location> 

但是,我在Apache日志文件中收到以下错误:

Syntax error on line 1179 of c:/apache/apache/conf/httpd.conf:
Regex could not be compiled

我知道错误可能出现在“负向前瞻”部分:(?!end1 | end2),但无法弄清楚。 感谢

2 个答案:

答案 0 :(得分:1)

Apache 1.x使用POSIX扩展正则表达式和这些表达式

不支持

环视

所以你的问题就在于:(?!end1|end2)

答案 1 :(得分:0)

正斜杠通常需要转义:

 "\/start\/.*(?!end1|end2)$"