Linux – Apache VHost Configuration Precedence

apache-2.2httpdlinuxUbuntuvirtualhost

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?

Best Answer

Apache searches for vhost matches from top to bottom and actions the firsh match that it encounters. If you renamed videoupload.conf to 0videoupload.conf it would be read before mysite.conf and it should just work.

Related Topic