Audit your apache configuration...

There are lots of ways that you can screw up your apache configuration... here is a way to at least see what apache thinks is going on..

on redhat try

httpd -S

on debian it's

apache2ctl -S

Output:


[Wed May 26 19:01:45 2010] [warn] NameVirtualHost 192.168.65.150:84 has no VirtualHosts
[Wed May 26 19:01:45 2010] [warn] NameVirtualHost 192.168.65.150:85 has no VirtualHosts
[Wed May 26 19:01:45 2010] [warn] NameVirtualHost *:84 has no VirtualHosts
VirtualHost configuration:
192.168.65.150:80       is a NameVirtualHost
         default server site1.dev (/srv/site1/etc/httpd.conf:1)
         port 80 namevhost site20.dev (/srv/site20/etc/httpd.conf:1)
         port 80 namevhost site15.dev (/srv/site15/etc/httpd.conf:1)
         port 80 namevhost site12.dev (/srv/site12/etc/httpd.conf:1)
         port 80 namevhost site4.dev (/srv/site4/etc/httpd.conf:1)
         port 80 namevhost site3.dev (/srv/site3/etc/httpd.conf:1)

*:80                   is a NameVirtualHost
         default server site50.dev (/etc/apache2/sites-enabled/010-site50:1)
         port 80 namevhost site50.dev (/etc/apache2/sites-enabled/010-site50:1)

That is virtual hosts, ports, warnings and named servers all in one command along with a path to the files where they are defined... Pretty awesome..