IT Knowledge Base

~ Without sacrifice, there can be no victory ~

發佈日期:

分類:

如何在apache服務下‧使用同一個IP地址‧存取兩個相同埠位的兩個網站

01. 今天遇到的問題是要在同一個的IP地址,相同的埠位(port 80),存取兩個網站內容。

02. 而因為需要同一個IP地址存取兩個相同埠位的兩個網站,埠位選擇就只有port 80。而另一個需要的,就是兩個不同網站的域名(domain name),而兩個網站的域名的DNS,都指向apache伺服器的IP地址。

03. 今次使用的,是XAMPP內的apache服務。首先打開XAMPP Control Panel

04在Apache Module中按Config按鈕,選舉Apache (httpd.conf)選項。

05. 更改httpd.conf如下:此更改主要是當使用者在瀏覽器輸入http://domain_1.com,它會存取到apache伺服器C:/xampp/htdocs/website_1內的內容,而當使用者在瀏覽器輸入http://www.domain_1.com,因設定了ServerAlias命令,它一樣會存取到伺服器C:/xampp/htdocs/website_1內的內容。而輸入http://domain_2.com及http://www.domain_2.com時,便會存取到伺服器C:/xampp/htdocs/website_2內的內容。

NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/website_1"
ServerName "domain_1.com"
ServerAlias "www.domain_1.com"
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/website_2"
ServerName "domain_2.com"
ServerAlias "www.domain_2.com"
</VirtualHost>
<Directory "C:/xampp/htdocs/website_1">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory "C:/xampp/htdocs/website_2">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>

06. 完成後重新啟動apache服務。

07. 留意的是,當使用者在瀏覽器輸入網站的實體IP地址時,如http://xxx.xxx.xxx.xxx,apache伺服器就會顯示第一個設定的內容,即C:/xampp/htdocs/website_1內的內容。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *