web-dev-qa-db-fra.com

L'hôte virtuel ne fonctionne pas sous Windows 7 XAMPP

J'utilise Windows 7 et XAMPP. Je veux créer un hôte virtuel alors j'ai ajouté

127.0.0.1       myawesomeproject  

dans mon fichier hosts (C:\Windows\System32\drivers\etc\hosts) comme ceci:

    # 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

et j'ai ajouté quelques lignes à mon fichier de configuration XAMPP vhosts (C:\xampp\Apache\conf\extra\httpd-vhosts.conf) comme ceci:

#
# 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 [email protected]
    ##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 [email protected]
    ##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 [email protected]
    DocumentRoot c:\myawesomeproject
    ServerName localhost

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

</VirtualHost>

J'ai créé un dossier appelé myawesomeproject sur mon lecteur C. Quand je tape

http://myawesomeproject 

il redirige vers

http://myawesomeproject/xampp

J'ai ajouté un autre dossier 'test' à l'intérieur de myawesomeproject, de sorte que le chemin d'accès à 'test' est C:/myawesomeproject/test.

Le problème est que, lorsque je tape http://myawesomeproject/test, cela donne une erreur. Ça dit

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 

Pourquoi est-ce? Comment créer un hôte virtuel?

Compte tenu de la configuration que vous décrivez, je suis un peu surpris que Apache commence. Essayez de configurer votre fichier hosts comme ceci

    127.0.0.1    localhost myawesomeproject.com

alors rangez vos vhosts comme ça

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

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot C:\myawesomeproject
    ServerName myawesomeproject.com

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

Cela devrait diriger le trafic pour http://myawesomeproject.com vers C:\myawesomeproject et le trafic pour http://localhost vers C:\xampp\htdocs.

2
user2483

Ok, je l'ai compris. Vous devez décommenter la ligne avec

NameVirtualHost *

Une fois que j'ai commenté et redémarré Apache sur le panneau de contrôle xampp, cela a commencé à fonctionner.

1
Faval