Apache的虛擬主機服務就是指將一台機器虛擬成多台WEB服務器。具體地說,就是,我們可以利用虛擬主機服務將兩個域名分配到同一台服務器上,而訪問者只要輸入域名就可以訪問。比如在本機,我們配置www.aaa.com和www.bbb.com.基於域名的虛擬主機服務不需要多個IP地址,配置簡單,無需特殊的硬件支持。下面的配置是在windows下的基於域名的虛擬主機配置,Apache版本為 httpd-2.2.22。在本機上設置兩個虛擬主機,假設站點域名分別為www.51venus.com和51venus.com。
httpd.conf文件配置
首先,在文件中找到下面的配置
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
去掉Include前的#,這個是注釋符號,變成下面:
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
然后找到以下三個字符串開頭的語句,加#注釋掉,如:
#ServerAdmin
#ServerName
#DocumentRoot
然后、修改conf/extra/httpd-vhosts.conf配置文件,如圖

然后 怎么修改呢?
首先修改:VirtualHost
1 NameVirtualHost *:80 2 //改為 3 NameVirtualHost 127.0.0.1
然后修改:VirtualHost以及Directory,下面以我修改的這個為例:
1 <VirtualHost 127.0.0.1> 2 ServerAdmin webmaster@dummy-host.example.com 3 DocumentRoot "D:/xampp/htdocs/www" //要與下文的目錄名相對應,並設置目錄權限 4 ServerName www.51venus.com 5 ServerAlias www.51venus.com 6 ErrorLog "logs/www.51venus.com-error.log" 7 CustomLog "logs/www.51venus.com-access.log"common 8 </VirtualHost> 9 10 <VirtualHost 127.0.0.1> 11 ServerAdmin webmaster@dummy-host2.weiyishi.com 12 DocumentRoot "D:/xampp/htdocs/venus" 13 ServerName51venus.com 14 ServerAlias 51venus.com 15 ErrorLog "logs/51venus.com-error.log" 16 CustomLog "logs/51venus.com-access.log"common 17 </VirtualHost> 18 19 <Directory "D:/xampp/htdocs/www"> 20 Options Indexes FollowSymLinks Multiviews 21 AllowOverride All 22 Order Allow,Deny 23 Allow from all 24 </Directory> 25 26 <Directory "D:/xampp/htdocs/venus"> 27 Options Indexes FollowSymLinks Multiviews 28 AllowOverride All 29 Order Allow,Deny 30 Allow from all 31 </Directory>
我這里用的是php的語法風格,實際應用中要修改。
最后,修改hosts文件(c:\windows\system32\drivers\etc\hosts)用文本文件打開就可以
在文件的下面添加如下代碼:
127.0.0.1 www.51venus.com 51venus.com
重啟服務器,訪問下吧!
