2016-12-01 69 views
-1

我有窗户与Apache 2.4 XAMPP 10 我有我的C此配置:\ XAMPP \ apache的\的conf \额外\的httpd-vhosts.confXAMPP的Apache 2.4虚拟主机不工作

<VirtualHost *:80> 
    DocumentRoot "C:/xampp/htdocs" 
    ServerName localhost 
    ServerAlias www.localhost 
</VirtualHost> 
<VirtualHost *:80> 
    DocumentRoot "C:/xampp/htdocs/site3/web" 
    ServerName site3.localhost 
    ServerAlias www.site3.localhost 
</VirtualHost> 
<VirtualHost *:80> 
    DocumentRoot "C:/xampp/htdocs/site2/web" 
    ServerName site2.localhost 
    ServerAlias www.site2.localhost 
</VirtualHost> 

我在我的主机添加的文件:

127.0.0.1  site2.localhost 
127.0.0.1  site3.localhost 
127.0.0.1  www.site2.localhost 
127.0.0.1  www.site3.localhost 

当我浏览http://site2.localhost我看到XAMPP根索引。 当我浏览http://site3.localhost我再次看到xampp根index.Same与www.site2.localhost ...

我做错了什么?

回答

0

有关虚拟主机的一些信息。如果你设置了一个,当你尝试并使用它时,它会将你发送到第一个虚拟主机,通常是localhost这意味着虚拟主机定义或HOSTS文件有问题,或者你输入的URL不正确。

Apache将使用文件中定义的第一个VH作为默认站点。

首先删除这两条线从Hosts文件

127.0.0.1  www.site2.localhost 
127.0.0.1  www.site3.localhost 

的HOSTS文件应该是这样的

127.0.0.1 localhost 
127.0.0.1 site2.localhost 
127.0.0.1 site3.localhost 

::1 localhost 
::1 site2.localhost 
::1 site3.localhost 

现在,每一台虚拟主机定义还应该包括这样

一些访问权限
<VirtualHost *:80> 
    DocumentRoot "C:/xampp/htdocs/site3/web" 
    ServerName site3.localhost 
    ServerAlias www.site3.localhost 
    <Directory "C:/xampp/htdocs/site3/web/"> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride All 
     Require local 
    </Directory> 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot "C:/xampp/htdocs/site2/web" 
    ServerName site2.localhost 
    ServerAlias www.site2.localhost 
    <Directory "C:/xampp/htdocs/site2/web/"> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride All 
     Require local 
    </Directory> 
</VirtualHost> 
+0

我只能访问site3。第一个vh。 – user3686739

+0

您不应该删除本地主机定义。这应该留 – RiggsFolly

+0

我评论它: #<虚拟主机*:80> #DocumentRoot的 “C:/ XAMPP/htdocs中” #服务器名本地主机 #\t ServerAlias www.localhost \t # user3686739