I'm currently looking at the apache documentation regarding virtual host. It gives an example on this page: http://httpd.apache.org/docs/2.0/vhosts/name-based.html
The example they show is:
<VirtualHost *:80>
ServerName www.domain.tld
ServerAlias domain.tld *.domain.tld
DocumentRoot /www/domain
</VirtualHost>
Wouldn't it work also with this type of config?:
<VirtualHost *:80>
ServerName *.domain.tld
DocumentRoot /www/domain
</VirtualHost>
Or this:
<VirtualHost *:80>
ServerName domain.tld
ServerAlias *.domain.tld
DocumentRoot /www/domain
</VirtualHost>
You can't use wildcards to specify ServerName as it has to be a FQDN. Your first example with
ServerName *.domain.tld
will not work as this is not a FQDN. Your second example will work and is quite a common configuration.One thing to note is that apache processes these directives from top to bottom in the order they are defined and will act upon the first match.
Also check your NameVirtualHost directive & documentation [usually in a listen.conf for apache 2.2]
I believe for your vhosts it should be set to:
But double check that, http://httpd.apache.org/docs/2.0/mod/core.html#namevirtualhost