2016-12-01 103 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