Getting More Out Of Apache (Part 1) - Gotcha!
(Page 4 of 5 )
There are, however, a couple of gotchas with virtual hosting.
Once you have specified the NameVirtualHost directive, it's important to remember that all the other default settings in your configuration file are null and void. Consequently, if you wish to access the default server "localhost", you will need to include it in the list of virtual hosts.
The second gotcha is the one mentioned a few pages back - clients which do not support HTTP/1.1 will not be able to view virtual hosts correctly. The Apache documentation addresses this problem via the ServerPath directive.
Here's what it would look like:
# host setting for melonfire-alpha.com
<VirtualHost 127.0.0.1>
ServerAdmin webmaster@melonfire-alpha.com
DocumentRoot /www/melonfire-alpha.com
ServerName melonfire-alpha.com
ServerPath /alpha
ErrorLog logs/melonfire-alpha.com-error_log
CustomLog logs/melonfire-alpha.com-access_log common
</VirtualHost>
# host setting for melonfire-beta.com
<VirtualHost 127.0.0.1>
ServerAdmin webmaster@melonfire-beta.com
DocumentRoot /www/melonfire-beta.com
ServerName melonfire-beta.com
ServerPath /beta
ErrorLog logs/melonfire-beta.com-error_log
CustomLog logs/melonfire-beta.com-access_log common
</VirtualHost>
How does this work? Very simply - any requests for URLs beginning with the
descriptor /alpha will be automatically served from host "melonfire-alpha.com", while URLs beginning with the descriptor /beta will be served from host "melonfire-beta.com".
For more information on this, you should take a look at the Apache documentation, which includes a working example.
Next: Including A Few More Tricks >>
More Administration Articles
More By icarus, (c) Melonfire