我試圖制定一個正則表達式,以便與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