我正在管理一个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
知道如何实现这个目标吗?
答案 0 :(得分:3)
在apache文档中,这称为mass VirtualHost configuration。
存在多种解决方案:
VirtualDocumentRoot
说明,但通常过于简单并且管理除DocumentRoot
之外的其他变体,域名非常难。DocumentRoot
和{{1}更多的参数在serval Vhosts之间共享单个配置文件。