2013-12-18 68 views
0

我正在處理2個不同的站點。我的家庭文件夾中有SVN的本地副本,以及/ var/www中的符號鏈接指向他們。 我已經設置了在httpd.conf虛擬主機是這樣的:使用Apache虛擬主機的兩個站點

<VirtualHost *:80> 
    DocumentRoot /var/www/siteA 
    ServerName 192.168.0.10/siteA 

    <Directory "/var/www/siteA"> 
     Options FollowSymLinks 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
    </Directory> 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot /var/www/siteB 
    ServerName 192.168.0.10/siteB 

    <Directory "/var/www/siteB"> 
     Options FollowSymLinks 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
    </Directory> 
</VirtualHost> 

我希望能夠訪問與192.168.0.10/siteA和/站點B的網站,但在瀏覽器中輸入地址時,它拋出一個404和Apache的錯誤日誌說:「文件不存在:/ var/www/siteA/siteA」。

我在做什麼錯,第二個「/ siteA」從哪裏來?

回答

0

你在那裏配置太多了。/SiteA和/ SiteB應該是相對於你的站點根目錄的路徑,你不能在同一個主機頭上有不同的站點,在這種情況下,它是「192.168.0.10」。如果你想把這個地址綁定到配置上,那麼下面的內容應該可以工作。

<VirtualHost 192.168.0.10:80> 
     DocumentRoot /var/www 
     ServerName 192.168.0.10 

     <Directory "/var/www"> 
     Options FollowSymLinks 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
     </Directory> 
    </VirtualHost> 

如果您現在瀏覽到/ SiteA,/ SiteB,只要符號鏈接正確就可以看到目錄的內容。您還需要確保在httpd.conf中正確設置了「NameVirtualHost」指令。

+0

好了,現在顯示了網站,但是所有ajax調用失敗,因爲:「文件不存在:/ var/www/ajax」,當它應該在這裏查找php文件時:「/ var/www/siteA/ajax「 – Greenlandi

+0

我不知道你是如何嘗試調用」ajax「的,但是它聽起來像是你應該相對於站點根來絕對引用它。 – arco444