You do not need to use apache's vhosts.conf for this setup. Something must be wrong with your dns.
You should modify your "@" record to point to your apache IP, then create a "www" alias that point to "@". This is what I do, and xxx.net &
www.xxx.net have always worked. Either way the dns will serve up the correct IP, and the browser will take you to port 80. As long as you want the xxx.net &
www.xxx.net to be the same thing no special setup is required.
Check you DNS.
Good Luck!