2011-04-13 43 views
1

我有一個網站,它包含了很多的網址,如:如何匹配那裏的url不是以指定的名字開頭的?

/public 
/public/images/... 
/questions/... 
/answers/... 
... 

我想一些cache頭添加到所有的網址,除了`/public/.*」。但我不知道如何編寫這個正則表達式。

我想:

^(?<!\Q/public/E)/.* 

但它不工作。

回答

1

.htaccess在apache下?請嘗試:

<LocationMatch "^(?!/public/)[^\.]+$"> 
    Header set Cache-Control max-age=7200 
</LocationMatch> 
+0

謝謝。爲什麼'.'在後面的部分是不允許的? – Freewind 2011-04-13 14:30:23

+0

@freewind我不熟悉你使用的語法 - 特別是\ Q或你使用的「<」字符,所以我不能說出爲什麼你的正則表達式不起作用 - 對不起。 – magma 2011-04-13 15:31:40

+0

我的意思是,在正則表達式中,你提供'^(?!/ public /)[^\.]+$',爲什麼'\ .'不允許?從'[^ \。]' – Freewind 2011-04-14 01:46:38

相關問題