![Apache VirtualHost - 具有相同服务器管理员的许多子域](https://linux22.com/image/577607/Apache%20VirtualHost%20-%20%E5%85%B7%E6%9C%89%E7%9B%B8%E5%90%8C%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AE%A1%E7%90%86%E5%91%98%E7%9A%84%E8%AE%B8%E5%A4%9A%E5%AD%90%E5%9F%9F.png)
如果我在 Apache vhost 文件中拥有多个子域,并且它们都具有相同的 ServerAdmin,我可以将 ServerAdmin 指令放在 VirtualHost 标签之外的顶部吗?我也有多个域,每个域都有自己的文件/etc/apache2/sites-available
。
因此,与其这样
<VirtualHost *:80>
ServerAdmin EMAIL
DocumentRoot /PATH/TO/WEB/FILES
ServerName SERVERNAME1
</VirtualHost>
<VirtualHost *:80>
ServerAdmin EMAIL
DocumentRoot /PATH/TO/WEB/FILES
ServerName SERVERNAME2
</VirtualHost>
我可以这样做吗?
ServerAdmin EMAIL
<VirtualHost *:80>
DocumentRoot /PATH/TO/WEB/FILES
ServerName SERVERNAME1
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /PATH/TO/WEB/FILES
ServerName SERVERNAME2
</VirtualHost>
答案1
可以在服务器上下文中设置指令ServerAdmin
,但只有一个(我认为是最后一个加载的指令?)将继承到虚拟主机 - 所以如果你执行一次,这将有效,如果你执行两次,则会失败。
也许可以研究其他选项,比如Include
每个 vhost 定义中的共享文件?