Apache 忽略服务器别名并转到第一个虚拟主机

Apache 忽略服务器别名并转到第一个虚拟主机

我无法使我的 ServerAlias 域正常工作。apache2ctl -S 给出:

IP.ADDRESS:80      is a NameVirtualHost
default server byteinsight.net (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost byteinsight.net (/etc/apache2/sites-enabled/000-default.conf:1)
    wild alias *.byteinsight.uk
    wild alias *.byteinsight.co.uk
    wild alias *.bristolwebsitedesigner.co.uk
port 80 namevhost davies-barnard.co.uk (/etc/apache2/sites-enabled/000-default.conf:15)
    wild alias *.davies-barnard.uk
port 80 namevhost tdaviesbarnard.co.uk (/etc/apache2/sites-enabled/000-default.conf:30)
    wild alias *.greenotter.co.uk
port 80 namevhost weather.davies-barnard.uk (/etc/apache2/sites-enabled/000-default.conf:57)
port 80 namevhost weewx.davies-barnard.uk (/etc/apache2/sites-enabled/000-default.conf:70)
port 80 namevhost compu2learn.uk (/etc/apache2/sites-enabled/000-default.conf:84)
    wild alias *.compu2learn.co.uk
    wild alias *.compu2learn.org.uk

我已遵循指导这里并将 ServerName 添加到虚拟主机声明中,例如

<VirtualHost byteinsight.net:80>...

我已经重启了 Apache。我尝试添加 NameVirtualHost *:80,但被告知没有必要,下次更新时会删除。我还查看了这个并更新了我的设置以反映给出的示例在 apache TroubleshootingVhosts 页面上

我错过了什么?

谢谢

克里斯

答案1

好的,我最终弄清楚了这一点。

首先我需要听取VirtualHost 忽略 ServerName 和 ServerAlias并将我主 apache.conf 文件中列出的域名作为全局 ServerName 放在虚拟主机文件中。

主要宿主消失

如果您要将虚拟主机添加到现有 Web 服务器,还必须为现有主机创建一个块。此虚拟主机中包含的 ServerName 和 DocumentRoot 应与全局 ServerName 和 DocumentRoot 相同。在配置文件中首先列出此虚拟主机,以便它充当默认主机。

我还需要使用完整域名而不是通配符,例如

ServerAlias www.domain.com domain.com 

并不是

ServerAlias *.domain.com.

相关内容