有没有办法“解开”一个任意的Apache指令,比如通过逐字重复,而是用Unset或前面的东西来Unset呢?
举例来说,在服务器configuration级别上我有:
ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"
在虚拟主机之一,我希望能够像下面这样:
Unset ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"
如果这个指令有一个特定的方法,那么我对这个指令很感兴趣(我能想到的最好的方法就是通过mod_rewrite来阻止对这个模式的访问),但是我特别感兴趣的是,一个方法来解决,因为这可能是方便了解未来。
我认为最简单的解决scheme是将指令从服务器级别移动到虚拟主机级别,如果服务器范围的设置certificate对于虚拟主机是不可接受的。
在每个虚拟主机中使用默认的“ Include ,并在偏离规范的虚拟主机中省略。
新的<If> (httpd 2.4)也可能是一个选项。