Apache Multiple Sub Domains With One IP Address Apache Multiple Sub Domains With One IP Address apache apache

Apache Multiple Sub Domains With One IP Address


Sounds like you need to add NameVirtualHost directive to your configuration.

NameVirtualHost         *:80

Under some circumstances Apache may not be able to handle *:80 VirtualHosts correctly. In those cases you should map VirtualHosts directly on specific IPs.

NameVirtualHost         8.8.8.8:80<VirtualHost 8.8.8.8:80>    ServerName  staging.mydomain.com    ServerAlias stage.mydomain.com    DocumentRoot /var/www/html/mydomain.com/staging/</VirtualHost><VirtualHost 8.8.8.8:80>    ServerName  dev.mydomain.com    ServerAlias development.mydomain.com    DocumentRoot /var/www/html/mydomain.com/dev/</VirtualHost>

You can also run apachectl -t -D DUMP_VHOSTS to see how Apache parses the VirtualHost configuration.

Update: As mentioned in the comments, usually you can just use NameVirtualHost *:80. So most of the time you can configure the virtual hosts as follows.

NameVirtualHost         *:80<VirtualHost *:80>    ServerName  staging.mydomain.com    ServerAlias stage.mydomain.com    DocumentRoot /var/www/html/mydomain.com/staging/</VirtualHost><VirtualHost *:80>    ServerName  dev.mydomain.com    ServerAlias development.mydomain.com    DocumentRoot /var/www/html/mydomain.com/dev/</VirtualHost>