我在我的Apache的conf如下:如何告訴Apache LocationMatch這個相反?
<LocationMatch "^/assets/.*$">
我怎樣才能把一個指令,就是這個相反?
我試圖<LocationMatch "!^/assets/.*$">
,但它沒有工作:(
我在我的Apache的conf如下:如何告訴Apache LocationMatch這個相反?
<LocationMatch "^/assets/.*$">
我怎樣才能把一個指令,就是這個相反?
我試圖<LocationMatch "!^/assets/.*$">
,但它沒有工作:(
與Apache 2.2(約以前的版本不知道),你可以使用正則表達式與負前瞻匹配比/assets
其他所有根位置的URL路徑的目錄,如下所示:
<LocationMatch "^(?!/assets)/[^/]+">
...
</LocationMatch>
注意,這不包括根URL路徑/
本身。
不幸的是,LocationMatch不支持負匹配:/(你可以打開一個Bugzilla條目這一點,這肯定會是有益的)
。而且順便說一句,你可以簡單地把^/assets/
作爲一個正則表達式,就沒有必要匹配完整位置。
有一件事可以做,以解決這是定義一個空LocationMatch爲^/assets/
然後用<Location />
。
是的,但你_can_使用正則表達式與_negative lookahead_以達到預期的效果。看到我的答案。 – ridgerunner 2011-12-17 19:40:31
要包含根URL路徑,只需用'*'替換'+'。 – 2016-09-21 12:35:23
如果需要多個例外,該怎麼辦? – balping 2017-07-11 12:47:05
@balping - 或者將它們與另一個組一起放在負向視圖中,像這樣:'^(?!/(?: assets | exception2 | exception3))/ [^ /] +' – ridgerunner 2017-07-11 13:20:35