我正在管理一个 httpd 安装,其上运行多个站点,每个站点都在其自己的内部定义<VirtualHost>
指示。有几个配置变量(大部分来自core以及一些php_flag
/php_value
)对于定义的几个站点来说是完全相同的。
我希望能够定义一个适用于多个的配置集<VirtualHost>
同时指令(消除冗余并使服务器维护更容易)。
我考虑过使用<Directory>
,但是我需要设置的许多配置值无法从内部修改<Directory>
。我也尝试过定义另一个<VirtualHost>
部分,包含我想要共享配置的所有站点
<VirtualHost xx.xx.xx.xx:80 yy.yy.yy.yy:80>
...config...
</VirtualHost>
但这只会导致
VirtualHost xx.xx.xx.xx:80 overlaps with VirtualHost yy.yy.yy.yy:80, the first has precedence, perhaps you need a NameVirtualHost directive
知道我该如何实现这一目标吗?
在 apache 文档中这被称为海量虚拟主机配置.
存在多种解决方案:
-
mod_vhost_alias,与
VirtualDocumentRoot
说明,但它通常太简单并且管理除DocumentRoot
而且域名也相当难。
-
高级 mod_rewrite 技巧,因为mod_rewrite是一把瑞士刀,可以做所有事情,但是当用mod_rewrite完成时,一切都显得相当复杂。
-
模组宏是一个模块,允许使用无限的宏列表,其参数可以在虚拟主机之间重用(例如),因此您可以添加比
DocumentRoot
and ServerName
并在多个虚拟主机之间共享单个配置文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)