通过配置apache实现多个站点访问
1、配置虚拟主机需要2个文件
1、Apache/conf/httpd.conf 2、Apache/conf/extra/httpd-vhosts.conf (这个版本的apache可能没有,可自己创建,也可以不要此文件,而将配置直接写在httpd.conf里面,写在extra/httpd-vhosts.conf只是为了管理方便,不让httpd.conf文件内容很多而已)
2、首先,在httpd.conf下开启虚拟主机功能
1、在httpd.conf中 找到
#Include conf/extra/httpd-vhosts.conf
去掉Include conf/extra/httpd-vhosts.conf前面的#号,
低版本的可能没有此段话,加上即可。
(此处是确保引入了 vhosts 虚拟主机配置文件,访问此IP的域名将全部指向 vhosts.conf 中的虚拟主机。)
2、同样在httpd.conf中找到
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
去掉前面的#号
3、然后再找到httpd.conf中的DocumentRoot和Directory,改为站点的上一级目录
例:
如果网站放在 D:/www/a 和 D:/www/b,
那么改为以下形式
DocumentRoot”D:/Appserv/www“
<Directory“D:/Appserv/www”>
4、以上完成后打开httpd-vhosts.conf配置文件的内容如下:# DocumentRoot 是网站文件存放的根目录# ServerName 是网站域名, 需要跟 DNS 指向的域名一致
例:
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "D:/website/a"
ServerName www.a.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
5、若要实现多站点的访问,就多复制几个<VirtualHost *:80></VirtualHost>,并修改为需要的站点目录和域名
例:
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "D:/website/a"
ServerName www.a.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "D:/website/b"
ServerName www.b.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "D:/website/c"
ServerName www.c.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
6、最后重启Apache服务就配置完成。