能用于 httpd.conf 中的多个虚拟主机?

能用于 httpd.conf 中的多个虚拟主机?

我有 5 个虚拟主机httpd.conf。除了其中一个之外,所有这些都具有以下配置。

<Location />
    Order Deny,Allow
    Deny from all
    Allow from IP.ADDRESS.GOES.HERE
</Location>

我认为最好告诉所有虚拟主机除了一个之外都拥有这个。目前我正在一一告诉每个虚拟主机要有这个。是否有一种通配符方法可以将此设置应用于所有虚拟主机,然后从其中一个虚拟主机中删除此节httpd.conf

答案1

<Location>是的,您可以在主 apache 配置中的指令之前定义全局<Virtualhost>,然后<Location>在虚拟主机之一内使用相同的内容覆盖它。

<Location />
    # some directives
</Location>

<Virtualhost *:80>
    <Location />
        # some other directives
    </Location>
<Virtualhost>

https://httpd.apache.org/docs/current/mod/core.html#locationhttps://httpd.apache.org/docs/current/mod/directive-dict.html#Context更多 - 其有效的原因是因为<Location>在“服务器配置”和“虚拟主机”上下文中都有效。

相关内容