2011-02-14 86 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

相关问题