Apache VirtualHost 虚拟主机配置方法

  这几天在捣鼓PHP,第一件事就是配置Apache环境,期间并不是很顺利,所以将最终结果记录下来,以便哪天忘了可以再次参考。
  系统环境:Windows Server 2008,WAMPServer 2.1(包含Apache 2.2.17)。
  先打开Apache安装目录,然后按下面方法配置:
  1、编辑conf目录下的httpd.conf文件,查找Include conf/extra/httpd-vhosts.conf,把前面注释符号“#”删掉。
  2、编辑conf/extra/httpd-vhosts.conf,添加如下代码
[html]<VirtualHost *:80>
ServerAdmin webmaster@yourdomain.com
DocumentRoot “D:/site/work/wwwroot/”
ServerName test.my
ErrorLog “logs/test_e.log”
CustomLog “logs/test.log” common
</VirtualHost>

<VirtualHost *:80>
ServerAdmin webmaster@yourdomain.com
DocumentRoot “D:/server/wamp/www/”
ServerName localhost
ServerAlias work.my
ErrorLog “logs/localhost_e.log”
CustomLog “logs/localhost.log” common
</VirtualHost>
[/html]也可将代码直接加在httpd.conf中
  以上文件配置了两个虚拟主机,也就是常说的站点。
  解释下几个参数:NameVirtualHost *:80和中 的*为当前服务器IP,如果有固定IP可以用IP把*替换掉;ServerName这个是主域名,DocumentRoot是该站点对应的根目录;ServerAlias可以用来绑定更多的域名。未绑定的域名会默认解析到到一个站点上。
  如果站点目录所在磁盘分区是NTFS格式,光有这个文件还不行,访问站点test.my时会出现403错误,还需要编辑httpd.conf文件来开启权限
  找到<Directory “D:/server/wamp/www/”>代码若干</Directory>
(我WAMP安装在D:/server/wamp下),在这个节点后面加上:[html]<Directory “D:/site/work/wwwroot”>
#Options Indexes FollowSymLinks
AllowOverride all
order Allow,Deny
Allow from all
</Directory>[/html]其中options indexs FollowSymLinks选项是当无默认文档时允许列出站点文件列表。
  保存后重启Apache服务。至此,大功告成。

发表评论

电子邮件地址不会被公开。 必填项已用*标注