Welcome! 登入 註冊
美寶首頁 美寶百科 美寶論壇 美寶落格 美寶地圖

Advanced

Virtual Host: 如何在同一個 IP (伺服器)上以不同的 Domain Name 架設多個網站

Posted by HP 
「多個網站或 Domain 架在同一個 IP 上」在 Apache 的術語中稱作 Name-based Virtual Host。另外還有 IP-based Virtual Host,不過比較不常用,Name-based Virtual Host 也才是本文的介紹主題 (Name-based 顧名思義即指 Domain Name)。

作法很簡單,若假設 Apache Server 已經正常地運作了,只需修改 httpd.conf 檔案中間的幾個部份。

以下以將 www.example1.com 與 www.example2.com 架在同一個 Apache Server 底下的設定作為例子。


NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /www/example1
ServerName www.example1.com

# Other directives here / 可於此加入其他所需目錄,例如 CGI Script 的目錄

</VirtualHost>

<VirtualHost *:80>
DocumentRoot /www/example2
ServerName www.example2.org

# Other directives here

</VirtualHost>


若進來的 HTTP Request 的 ServerName 不是上述二者,以置於前的 www.example1.com 為主。

另請注意:不同的 Linux Distribution 的 Apahce 設定方式略有不同,例如 openSUSE 的設定主要是在

/etc/apache2/default-server.conf(需在檔中(最後)加入 NameVirtualHost *:80),

同時 Virtual Host 的設定是在

/etc/apache2/vhosts.d/*.conf

(需在該目錄新增 .conf 檔,加上上述之 Script)。因此,不同的 Linux Distribution 請注意其中可能的差別,但其原理相同。


Refereces:
Official Page: VirtualHost Examples
Official Paeg: Name-based Virtual Host Support



Edited 3 time(s). Last edit at 10/21/2009 04:32AM by HP.
(編輯記錄)