如何在apache中定義多個文檔根

如何在apache中定義多個文檔根

我對 PHP 檔案中的所有連結使用根相對路徑,例如“url(/img/myimj.jpg)”

在 Godaddy 主機伺服器中,效果很好。

但我想在本地主機上運行它。 (Ubuntu 9、Apache 2、PHP 5)

例如,我將我的網站儲存在 var/www/siteone 中,另一個儲存在 var/www/sitetwo 中,

根目錄設定為“var/www”。

現在的問題是 href="/" 不是連結到 var/www/siteone,而是連結到 var/www/。

有沒有辦法為不同的網站定義不同的文件根?

我只是網頁開發的初學者,不確定虛擬主機是否可以做到這一點。

有人可以解釋一下嗎?

感謝您的回答。

我需要將新的 vitualhost 新增至此檔案 /etc/apache2/sites-available/default

但我還是很困惑,如何為本地主機做到這一點?預設 IP 和連接埠始終為 127.0.0.1:80

答案1

每個<VirtualHost>部分都可以有自己的DocumentRoot指令。

答案2

我個人使用很多 VirtualDocumentRoot :
http://httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html#virtualdocumentroot

使用此指令,您可以執行以下操作:

VirtualDocumentRoot /var/www/%-2/%-3/

%-2 是“從右邊數第二項”,所以它是 exemple.com 中的 example
%-3 是從右邊數第三項,所以它是 foo.exemple.com 中的 foo

然後你只需建立資料夾來匹配你的主機名稱:
localhost/ 將是:

/var/www/localhost/_/

注意沒有值的 _ (我總是創建一個符號鏈接,如 _ -> www)

所以
www.site1.com 將會是 /var/www/site1/www/
www.site2.com 將會是 /var/www/site2/www/
localhost 會是 /var/www/localhost/_/

然後享受符號連結的樂趣:-)

相關內容