Apache returns wrong virtual host
From Mac OS X Server FAQ
HTTP/1.0 sends requests straight to a host by its IP address but the HTTP/1.1 protocol supports multiple, 'virtual' hosts sharing the same (one or more) IP address. It does this by inserting a HOST header as part of the request in the request body. Browsers that support HTTP/1.1 (which is most all browsers except the most ancient) normally use the hostname in the HREF tag or listed in the location pane to include in the HOST header.
Apache uses the combination of the IP address it received the request on and the HOST header to try and match a virtualhost directive. If a request has no HOST header, or the request is ambiguous, Apache will return the first, closest matching host it finds, which is usually not what you wanted.
Obviously too, if you're requesting a page by specifying an IP address in the HREF tag or explicitly by location, you're not mincluding a hostname to match by, and your request will most likely be ambiguous and result in the wrong virtual hosts page being returned.
In your Apache httpd.conf (et al) files, check to see how the virtual host info is specified and look for why Apache was confused using the information in your log for the troublesome request to determine what is misconfigured. Often converting from ANY to a specific IP address in the Server Admin GUI will resolve this as well.
