这是我的设置的简化。我有一个没有ServerName或ServerAliases的默认VirtualHost(启用了站点的000-default.conf):
<VirtualHost *:80>
DocumentRoot /var/www/html
</VirtualHost>
然后我有另一个(stuff.joe.conf):
<VirtualHost *:80>
DocumentRoot /var/www/stuff/
ServerName stuff.joe.com
</VirtualHost>
在我看来,我认为我对这应该如何运作非常了解。
正确访问http://joe.com/会将我带到默认的虚拟主机并指向正确的位置(/ var / www / html /)。
访问http://stuff.joe.com/index.html找到辅助虚拟主机配置,并将我带到我期望的位置(/var/www/stuff/index.html)。
然而......访问http://stuff.joe.com/,与我的想法相反,与默认虚拟主机匹配,并带我到/ var / www / html /
这看起来很奇怪。我在这里错过了什么吗?我希望它能在两种情况下捕获stuff.joe.com配置。为什么在这两种情况下它的行为不同?
答案 0 :(得分:0)
我在辅助虚拟主机配置上缺少DirectoryIndex指令,因此它回退到默认虚拟主机。