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.
Ok, je l'ai compris. Vous devez décommenter la ligne avec
Une fois que j'ai commenté et redémarré Apache sur le panneau de contrôle xampp, cela a commencé à fonctionner.