有没有办法“取消设置”任意 Apache 指令,例如逐字重复它,但Unset
前面有什么?
例如,假设在服务器配置级别我有:
ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"
对于其中一个虚拟主机,我希望能够放置如下内容:
Unset ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"
如果我缺少该指令的特定方法,我也对此感兴趣(我能想到的最好的方法是通过 mod_rewrite 阻止对该模式的访问),但我对是否存在特别感兴趣一种取消设置的方法,因为这可能对将来很方便。
我认为最简单的解决方案是将指令从服务器级别移动到虚拟主机级别,如果服务器范围的设置证明对虚拟主机不可接受。
在每个虚拟主机中使用默认值
Include
,并在您偏离规范的虚拟主机中省略它。新的
<If>
(httpd 2.4)也可能是一种选择。