Take the 2-minute tour ×
Webmasters Stack Exchange is a question and answer site for pro webmasters. It's 100% free, no registration required.

I am using Windows 7 and XAMPP. I want to create a virtual host so I added

127.0.0.1       myawesomeproject  

to my hosts file (C:\Windows\System32\drivers\etc\hosts) like this:

    # Copyright (c) 1993-2009 Microsoft Corp.
    #
    # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
    #
    # This file contains the mappings of IP addresses to host names. Each
    # entry should be kept on an individual line. The IP address should
    # be placed in the first column followed by the corresponding host name.
    # The IP address and the host name should be separated by at least one
    # space.
    #
    # Additionally, comments (such as these) may be inserted on individual
    # lines or following the machine name denoted by a '#' symbol.
    #
    # For example:
    #
    #      102.54.94.97     rhino.acme.com          # source server
    #       38.25.63.10     x.acme.com              # x client host

    # localhost name resolution is handled within DNS itself.
        127.0.0.1       localhost
        127.0.0.1       myawesomeproject
        ::1             localhost

and I added some lines to my XAMPP vhosts configuration file (C:\xampp\apache\conf\extra\httpd-vhosts.conf) like this:

#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
##<VirtualHost *:80>
    ##ServerAdmin postmaster@dummy-host.localhost
    ##DocumentRoot "C:/xampp/htdocs/dummy-host.localhost"
    ##ServerName dummy-host.localhost
    ##ServerAlias www.dummy-host.localhost
    ##ErrorLog "logs/dummy-host.localhost-error.log"
    ##CustomLog "logs/dummy-host.localhost-access.log" combined
##</VirtualHost>

##<VirtualHost *:80>
    ##ServerAdmin postmaster@dummy-host2.localhost
    ##DocumentRoot "C:/xampp/htdocs/dummy-host2.localhost"
    ##ServerName dummy-host2.localhost
    ##ServerAlias www.dummy-host2.localhost
    ##ErrorLog "logs/dummy-host2.localhost-error.log"
    ##CustomLog "logs/dummy-host2.localhost-access.log" combined
##</VirtualHost>


<VirtualHost *>
  DocumentRoot "C:\xampp\htdocs"
    ServerName localhost
   </VirtualHost>
<VirtualHost *>

<VirtualHost *:80>
    ServerAdmin awesome@myawesomeproject.com
    DocumentRoot c:\myawesomeproject
    ServerName localhost

<Directory "c:\myawesomeproject">
    Order allow,deny
   Allow from all
</Directory>

</VirtualHost>

I created a folder called myawesomeproject on my C drive. When I type

http://myawesomeproject 

it is redirecting to

http://myawesomeproject/xampp

I added another folder 'test' inside myawesomeproject, so the path to 'test' is C:/myawesomeproject/test.

The problem is, when I type http://myawesomeproject/test it gives an error. It says

Object not found!

The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.

If you think this is a server error, please contact the webmaster.
Error 404
myawesomeproject
8/22/2011 4:30:29 PM
Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o PHP/5.3.4 mod_perl/2.0.4 Perl/v5.10.1 

Why is this? How can I create a virtual host?

share|improve this question

migrated from serverfault.com Aug 22 '11 at 12:41

This question came from our site for professional system and network administrators.

add comment

2 Answers 2

Given the configuration you describe I'm sort of surprised that you apache is starting. Try configuring your hosts file like this

    127.0.0.1    localhost myawesomeproject.com

then tidy up your vhosts like this

<VirtualHost *:80>
  DocumentRoot "C:\xampp\htdocs"
  ServerName localhost
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin awesome@myawesomeproject.com
    DocumentRoot C:\myawesomeproject
    ServerName myawesomeproject.com

    <Directory "C:\myawesomeproject">
        Order allow,deny
       Allow from all
    </Directory>
</VirtualHost>

This should direct traffic for http://myawesomeproject.com to C:\myawesomeproject and traffic for http://localhost to C:\xampp\htdocs.

share|improve this answer
add comment

Ok, I figured it out. You have to uncomment the line with

NameVirtualHost *

Once I uncomment and restarted apache at xampp control pannel, it started working

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.