我正在为我的网站做一个通用别名到应用程序主目录,但是有一些文件和目录必须仍然是特定于vhost的,例如缓存和客户端提供的文件。 我可以轻松地执行此操作以实现应用程序别名:
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"
答案 0 :(得分:1)
您可以对AliasMatch使用这样的语法 -
AliasMatch ^(/(f(?!avico\.ico)|[^f]).*)$ "/path/to/app$1"
这与/favico.ico不匹配,因此它将在vhost的DocumentRoot中查找