具有多个站点的服务器上的Apache2通配符子域

我有一个Apache服务器与多个网站使用自己的域名。 对于其中一个网站我希望有通配符子域名。

我已经为*.example.com设置了域logging,并且工作得很好。

有了这个,我可以configuration任何子域(例如abc.example.com )指向任何网站,只要我指定的子域名。

通配符域( *.example.com )结束于在/etc/apache2/sites-available/default中configuration的站点,而不是具有ServerName *.example.com的站点。

我做错了什么?

* .example.com的

 <VirtualHost *:80> ServerName *.example.com ServerAlias abc.example.com DocumentRoot /var/www/example <Directory /var/www/example> AllowOverride all Options -MultiViews Allow from all </Directory> </VirtualHost> 

默认

 <VirtualHost *:80> ServerName default.com ServerAlias www.default.com DocumentRoot /var/www/default/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/default/> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> 

尝试像这样切换ServerName / ServerAlias指令:

 ServerName abc.example.com ServerAlias *.example.com 

据我所知,通配符只能使用ServerAlias指令。