我在 apache2 中设置虚拟主机时遇到了一些问题。我有三个子域(a.test.com、b.test.com、c.test.com)连接到同一台服务器。我按如下方式设置虚拟主机,以使每个子域显示其他站点。
# Content of /etc/apache2/sites-available/a.test.com.conf
<VirtualHost *:80>
ServerName a.test.com
DocumentRoot /var/www/a
</VirtualHost>
# Content of /etc/apache2/sites-available/b.test.com.conf
<VirtualHost *:80>
ServerName b.test.com
DocumentRoot /var/www/b
</VirtualHost>
c.test.com.conf 不存在的原因是我想在客户端尝试访问 c.test.com 时显示 404 notfound 或连接被拒绝(因为 c.test.com 未解析)。但是,当客户端尝试访问 c.test.com 时,它显示 a.test.com 的结果。
我已经禁用了 000-default,但这些设置并没有达到我的预期效果。我应该怎么做才能让 c.test.com 显示 404 notfound 或连接被拒绝?
这是结果ls /etc/apache2/sites-available
000-default.conf
a.test.com.conf
b.test.com.conf
这是结果ls /etc/apache2/sites-enabled
a.test.com.conf
b.test.com.conf
答案1
如果未找到匹配的虚拟主机,则将使用列出的第一个虚拟主机。
使用虚拟主机来000-default.conf
配置与其他虚拟主机不匹配的域的行为。例如,使用不存在的文档根目录。