我有两个vhosts默认值和另一个:
Package Name
这个应该只是将未专门设置的所有子域重定向到测试目录。 这是我的另一个幻想:
<VirtualHost *:80>
ServerName www.eve-stuff.com
ServerAlias *.eve-stuff.com
DocumentRoot /var/www/html/test
<Directory /var/www/html/test>
Options +FollowSymLinks
AllowOverride None
#Require all denied
</Directory>
</VirtualHost>
这个应该显示dev子域的dev文件夹。
根据我对apache doc的理解,第一个主机中的<VirtualHost *:80>
ServerName dev.eve-stuff.com
DocumentRoot /var/www/html/dev
<Directory /var/www/html/dev>
Options +FollowSymLinks
AllowOverride None
</Directory>
</VirtualHost>
将始终捕获,除非专门为该地址创建了另一个vhost。
但是ServerAlias *.eve-stuff.com
仍然会重定向到测试文件夹,而不是重定向到dev文件夹。
所有dns条目(也是子域名)都指向正确的IP。 我正在运行Apache / 2.4.18(Ubuntu)。
答案 0 :(得分:0)
确定设置的顺序。
Apache显然寻找它能找到的匹配主机
由于第一个配置位于000-default.conf
,第二个配置位于020-dev.conf
,因此dev-subdomain与第一个vhost匹配并使用了它。
我将默认值更改为999-default.conf
,这意味着现在dev将首先与正确的vhost匹配,但其他未定义的子域仍将与默认的vhost匹配。