具有通配符/非通配符子域混合的Apache Config

Sou*_*tsy 4 apache wildcard

我拥有该域,我们将其称为“ mydomain.com”,并且我希望设置以下虚拟主机以以下方式进行解析:

  • mydomain.com / www.mydomain.com指向/ var / www /
  • dev.mydomain.com指向/ var / www / dev /
  • * .mydomain.com(所有其他子域)指向/ var / www / old

我的apache配置当前设置为:

NameVirtualHost 1.2.3.4:80

<VirtualHost 1.2.3.4:80>
 ServerAlias *.mydomain.com
 DocumentRoot /var/www/old
</VirtualHost>

<VirtualHost 1.2.3.4:80>
 ServerName mydomain.com
 ServerAlias www.mydomain.com
 DocumentRoot /var/www
</VirtualHost>

<VirtualHost 1.2.3.4:80>
 ServerAlias dev.mydomain.com
 DocumentRoot /var/www/dev
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

不幸的是,这没有按我预期的那样工作。使用此配置,只有第一个(通配符)VirtualHost条目可以正常工作。

配置Apache以执行此操作的正确方法是什么?

cee*_*yoz 5

将通配符条目放置在文件的最后。Apache将使用第一个与浏览器发送的Host标头匹配的VirtualHost。