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:windowssystem32driversetchosts)用文本文件打开就可以
在文件的下面添加如下代码:
127.0.0.1 www.51venus.com 51venus.com
重启服务器,访问下吧!