So I have 2 configuration files.
mysite.conf
<VirtualHost *:80>
ServerName www.mysite.com
ServerAlias mysite.com *.mysite.com
DocumentRoot /var/www/mysite/www
ErrorDocument 404 /redirect.php
ErrorLog logs/application/mysite.error_log
CustomLog logs/application/mysite.access_log Combined
</VirtualHost>
videoupload.conf
<VirtualHost *:80>
ServerName upload.mysite.com
DocumentRoot /var/www/videouploader/www
ErrorLog logs/application/videoupload.error_log
CustomLog logs/application/videoupload.access_log Combined
</VirtualHost>
See, we have about 50 possible something.mysite.com subdomains, all that do different things, but they're all served off the same document root.
I'd like to keep *.mysite.com in there, simply because its cleaner then having the worlds longest serveralias line, plus it protects from retards trying bananananan.mysite.com or something that wouldn't work.
I've read through the apache documentation and it didn't really have anything for this senario. Anyone know how to do this?
Apache searches for vhost matches from top to bottom and actions the firsh match that it encounters. If you renamed
videoupload.conf
to0videoupload.conf
it would be read beforemysite.conf
and it should just work.I had a similar issue. The resolution was to remove the domain name from the headers of any other
<VirtualHost>
directive. Remove:Replace with:
Using a domain name in the header caused apache to match to that virtual host in preference to my
ServerAlias static-*.blah.org
under the<VirtualHost *:443>
directive.Multiple files are included in alphabetical order.