2013-04-10 77 views
1

我的Apache2,它的文檔根目錄結構爲:Apache的默認主機

/var/www/html 
---index.html 
---example.com 
------/index.html 

我想my-site.com所有請求指向example.com/index.html和所有其他請求送達from /var/www/html

這裏是我的配置:

<VirtualHost _default_:80> 
    DocumentRoot /var/www/html 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName my-site.com 
    DocumentRoot /var/www/html/example.com 
</VirtualHost> 

但是,所有的請求都來自Apache的文檔根目錄服務。

感謝您的任何幫助。

+0

我相信Apache有一個文檔根的概念,我可能是錯的。如果你希望my-site.com的東西來自其子目錄,而不是爲mysite創建一個別名,那麼http:// localhost:80/mysite會爲你提供mysite的內容,而http:// localhost: 80 /將從「var/www/html」目錄中提取。 HTH – 2013-04-10 20:39:51

回答

1

在第二個虛擬主機之前,您需要在配置中的某個位置使用NameVirtualHost指令。

<VirtualHost _default_:80> 
    DocumentRoot /var/www/html 
</VirtualHost> 

NameVirtualHost *:80 

<VirtualHost *:80> 
    ServerName my-site.com 
    DocumentRoot /var/www/html/example.com 
</VirtualHost> 
+0

謝謝,但Apache仍然提供來自/ var/www/html的所有請求 – 2013-04-11 05:03:34

+0

修正thnx需要將NameVirtualHost *:80置於虛擬主機聲明的頂部。 – 2013-04-11 09:16:24