I've just cracked this problem for myself and I bet you're doing the same thing I was. I'm using a base path:
This is what I have for my httpd-vhosts.conf file now:
## This part is essential for telling Apache that the folder "web" contains
## all of the virtual hosts on my computer. Otherwise your first site will
## become localhost, which you don't want. If you aren't using
##<Directory> it isn't an issue.
Allow from all
##each subsequent site is set up as the example below.
Options Indexes FollowSymLinks ExecCGI Includes
Allow from All