我试图制定一个正则表达式,以便与httpd.conf中的Apache web服务器配置的“Location”指令一起使用文件。以“/ start /”开头但不以“end1”或“end2”结尾的正则表达式
<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),但可以没有确切地计算出来。 感谢
哪个Apache的版本号是您使用?正则表达式语法在1.x和2.x之间发生了显着变化 –
这是来自Oracle应用服务器10g的Apache,应该基于Apache 1.3。 –
即使是向前看,表达式:'/ start /.*(?! end1 | end2)$'将不起作用。为了确保位置以'/ start /'开始,并且不以'end1'或'end2'结尾,这里有一个表达式:'^/start /(?!.* end [12] $)' – ridgerunner