日期:2014-05-16  浏览次数:21202 次

xampp 配置多域名工程 解决 Access forbidden!
先确定引入文件   和 去掉启动虚拟端口的注释。。。


1、首先修改C盘WINDOWS\system32\drivers\etc目录下的 hosts 文件,用记事本打开,加入:
127.0.0.1 www.a.com
127.0.0.1 www.b.com

2、打开xampp\apache\conf\httpd.conf文件,搜索 “Include conf/extra/httpd-vhosts.conf”,确保前面没有 # 注释符,也就是确保引入了 vhosts 虚拟主机配置文件。

开启了httpd-vhosts.conf,默认的httpd.conf默认配置失效(确保 httpd-vhosts.conf 文件里也开启了虚拟主机配置,见第3条),访问此IP的域名将全部指向 vhosts.conf 中的第一个虚拟主机。

3、在虚拟主机设置文件xampp\apache\conf\extra\httpd-vhosts.conf里设置:
取消 NameVirtualHost *:80 前面的 ##,这样就启用了 vhosts.conf ,默认的httpd.conf默认配置失效。虚拟主机配置将只设置在 httpd-vhosts.conf 里。
<VirtualHost *:80>
DocumentRoot "C:/cooler/a/"
ServerName www.a.com
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "C:/cooler/b/"
ServerName www.b.com
</VirtualHost>

4、设置完了第3条之后,你会发现访问 localhost直接指向到设置的 a 那个路径去了,这个问题在第2条有讲。也就是开启了 vhosts 后,默认的 httpd 的配置就会失效了,默认的访问就指向到 vhosts 里的第一条设置去了。这时候你要把 localhost 的目录配置给设置回来。
<VirtualHost *:80>
DocumentRoot /xampp/htdocs/
ServerName localhost
</VirtualHost>

至此,XAMPP 的虚拟主机设置完毕,现在 访问 localhost 还是原来的 XAMPP 的帮助指南,访问 www.a.com 将指向到绑定的 a 目录,访问 www.b.com 将指向到绑定的 b 目录。


这样就配置了多域名访问,但会出现

access forbidden的问题

解决办法



<VirtualHost *:80>

下增加节点:

<Directory "C:/cooler/a" >
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from allow
</Directory>


重启apache
一切ok了。。