
我對 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/_/
然後享受符號連結的樂趣:-)