Setting up httpd-vhosts.conf for multiple virtual hosts

I have a simple test setup using xampp at home, and I am getting really weird behavior when I attempt to set up multiple virtual hosts on this box. Here is my vhosts file:

 NameVirtualHost *:80
 <VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName foo
  DocumentRoot "D:\wamp\xampp\htdocs\foo"
  ErrorLog logs/foo-error_log
  CustomLog logs/foo-access_log common
    <Directory "D:\wamp\xampp\htdocs\foo">
      Options Indexes FollowSymLinks Includes execCGI
      AllowOverride All
      Order Allow,Deny
      Allow From All
    </Directory>
 </VirtualHost>

 <VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName bar
    DocumentRoot "D:\wamp\xampp\htdocs\bar"
    ErrorLog logs/bar-error_log
    CustomLog logs/bar-access_log common
    <Directory "D:\wamp\xampp\htdocs\bar">
      Options Indexes FollowSymLinks Includes execCGI
      AllowOverride All
      Order Allow,Deny
      Allow From All
    </Directory>
  </VirtualHost>

When I attempt to run visit the first site, it works as expected.

When I attempt to run the second site, I get a weird hybrid mishmash of both sites. It's the weirdest thing.


Solution 1:

firstly you need to specify the tld in servername, i.e. foo.com or www.foo.com.

On the other hand... have you setup your hosts file in order to resolve foo.com or www.foo.com? If no, go to windows->system32->drivers->etc->hosts and add a line like this: 127.0.0.1 www.foo.com