2011-02-14 85 views
0

我正在尋找爲我的網站做一個通用別名到應用程序的主目錄,但有一些文件和目錄必須仍然是虛擬主機特定的,如緩存和客戶端提供的文件。 我可以很容易地做到這一點,以實現應用程序別名:有沒有辦法從AliasMatch中免除文件/文件夾?

AliasMatch ^(.*)$ "/path/to/app$1" 

但是我現在要排除某些文件/文件夾。現在,我有一堆像這樣的行的AliasMatch前:

Alias /favicon.ico "/var/www/html/vhosts/domain.name/httpdocs/favicon.ico" 

不過說真的,只是使它做它本來沒有AliasMatch做,在一個更容易錯字,難以再利用的方式。那麼有沒有辦法簡單地排除/favicon.ico,或者至少利用DocumentRoot作爲常量,所以我可以做這樣的事情呢?

Alias /favicon.ico "$DocumentRoot$/favicon.ico" 

回答

1

你可以使用語法像這樣AliasMatch -

 
AliasMatch ^(/(f(?!avico\.ico)|[^f]).*)$ "/path/to/app$1" 

這將不匹配/favico.ico,所以它會在DocumentRoot的來看待虛擬主機

+0

雖然這可能工作,即正則表達式變得相當難以維護,一旦我添加其餘的7-8排除有沒有其他機制來實現呢? – VexedPanda 2011-02-17 16:01:36

相關問題