作為系統管理員,若你只有一個IP地址,卻有好幾個域名,又要求訪問每個域名都要看到不同的內容,那怎麼辦?總不至於為每個域名都配上一台服務器吧。這就要采用虛擬主機(Virtual Host)技術,幸好Apache就支持這種功能。虛擬主機有兩種方式:IP-Based(基於IP式)、Name-based(基於域名式)。IP-Based指的是一個域名對應一個IP地址,而Name-based指的是多個域名對應一個IP地址。
虛擬主機的設置並不復雜,只要在httpd.conf文件中加入相應的命令就行。
下面是一個Name-based(基於域名式)虛擬主機的httpd.conf例子IP為:192.9.188.20,兩個域名分別是long.com.cn、short.com.cn。
httpd.conf:
NameVirtualHost 192.9.188.20
<VirtualHost WWW.long.com>
ServerAdmin [email protected]
ServerName WWW.long.com
DocumentRoot /home/httpd/long/html
ErrorLog logs/error_log
TransferLog logs/aclearcase/" target="_blank" >ccess_log
</VirtualHost>
<VirtualHost WWW.short.com>
ServerAdmin [email protected]
ServerName WWW.short.com
DocumentRoot /home/httpd/short/html
ErrorLog logs/short.com-error_log
TransferLog logs/short.com-access_log
</VirtualHost>
NameVirtualHost命令指定在哪個IP上設置虛擬主機。
在VirtualHost命令中進行各個主機的具體設置。