web-dev-qa-db-ja.com

仮想ホストがWindows 7 XAMPPで機能しない

Windows 7とXAMPPを使用しています。仮想ホストを作成したいので追加しました

127.0.0.1       myawesomeproject  

次のように私のホストファイル(C:\ Windows\System32\drivers\etc\hosts)に:

    # 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

xAMPP vhosts構成ファイル(C:\ xampp\Apache\conf\extra\httpd-vhosts.conf)に次のような行を追加しました。

#
# 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>

Cドライブにmyawesomeprojectというフォルダーを作成しました。入力するとき

http://myawesomeproject 

にリダイレクトしています

http://myawesomeproject/xampp

別のフォルダー'test'myawesomeproject内に追加したため、'test'へのパスはC:/myawesomeproject/testです。

問題は、http://myawesomeproject/testと入力するとエラーが発生することです。それは言います

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 

どうしてこれなの?仮想ホストを作成するにはどうすればよいですか?

あなたが説明している構成を考えると、Apacheが起動していることにちょっと驚きます。このようにhostsファイルを設定してみてください

    127.0.0.1    localhost myawesomeproject.com

次に、このように仮想ホストを片付けます

<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>

これにより、http://myawesomeproject.comのトラフィックがC:\ myawesomeprojectに、http://localhostのトラフィックがC:\ xampp\htdocsに転送されます。

2
user2483

わかった。行のコメントを外す必要があります

NameVirtualHost *

Xamppコントロールパネルでコメントを解除してApacheを再起動すると、機能し始めました

1
Faval