我无法使我的 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.