This doesn't make any sense and even though I'm not a apache-pro I don't think its correct at all. How does apache decide which VirtualHost to use?
It matches the Host: header against the ServerName attribute. See http://httpd.apache.org/docs-2.0/vhosts/name-based.html, it's the same for 1.3 as well.
For the OP, if you use only the following NameVirtualHost and leave the rest as is, it should work:
NameVirtualHost *:80
That will work as well, but only because the separate hostnames point to the same IP address. The attribute in the VirtualHost 'tag' specifies the IP address to bind the virtual host definition to, in the case of name-based you just assign the same IP to all the hosts on that IP address. -- Phillip Hutchings http://www.sitharus.com/ sitharus@gmail.com / sitharus@sitharus.com