Apache VirtualHost配置成功/Wamp虚拟主机配置
网上关于Apache VirtualHost部分的不少,但是基本上都是有问题的,所以我得把配置过程记录下来。系统环境,Windows Server 2003 SP2,WAMPServer 5_1.7.4,Apache 2.2.6。
编辑httpd.conf,查找Include conf/extra/httpd-vhosts.conf,把前面注释符号“#”删掉。
编辑httpd-vhosts.conf,我把WAMPServer安装在D:/wamp,所以我这里的路径是D:\wamp\Apache2\conf\extra。
把里面的内容清空掉,换成下面的内容:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName xxxxxxxxx.cn
ServerAlias www.xxxxxxxxx.cn
DocumentRoot d:/www/www
</VirtualHost>
<VirtualHost *:80>
ServerName beta.gx.cn
ServerAlias www.beta.gx.cn
DocumentRoot d:/www/beta.gx.cn/
</VirtualHost>
<VirtualHost *:80>
ServerName www.xxxxxxx.com
ServerAlias www.www.xxxxxxx.com
DocumentRoot d:/www/www.xxxxxxx.com/
</VirtualHost>
说明一下,NameVirtualHost *:80和中 的*为当前服务器IP,如果有固定IP可以用IP把*替换掉,我这里使用的是动态IP,所以用*,我看apache帮助文档的时候,一直认为这里的*为对 应的域名,这个想法应该是错误的,因为我填上域名的时候一直没有设置成功。ServerName这个填域名,DocumentRoot填 ServerName上域名对应的根目录。
这时候访问域名会出现403权限错误,我的D盘用的是NTFS,对应的文件夹everyone的权限都是全部控制,所以不存在系统权限的问题。
问题出在httpd.conf上。
编辑httpd.conf,找到DocumentRoot "d:/www/www/"这项,这是默认根目录路径,但是要更改的不是这个,一直往下找,找到<Directory "d:/www/www">,然后找到对应字段,在下面加上:
<Directory "d:/www/www.xxxxxxx.com">
Options Indexes FollowSymLinks
AllowOverride all
Order Allow,Deny
Allow from all
</Directory>
<Directory "d:/www/beta.gx.cn">
Options Indexes FollowSymLinks
AllowOverride all
Order Allow,Deny
Allow from all
</Directory>
这里的"d:/www/beta.gx.cn"和"d:/www/www.xxxxxxx.com"为前面VirtualHost里的路径。
保存httpd.conf和httpd-vhosts.conf,然后重启Apache。
然 后访问xxxXXXxxx.CN打开的是d:/www/www目录,访问beta.gx.cn的是d:/www/beta.gx.cn,而访问 www.xxxxxxx.com的则是d:/www/www.xxxxxxx.com/目录,实现了单IP多域名多站点的功能。
页:
[1]