apche 127.0.0.1 多域多目录配置方法

现在假定你有两个目录,一个存在于 /xampp/htdocs/a,另一个存在于 /xampp/htdocs/b 。

  现在你想要在本地测试的时候访问 www.a.com 对应的目录是 /xampp/htdocs/a ,访问 www.b.com 对应的目录是 /xampp/htdocs/b 。

  懂得 Apache配置的其实就可以绕开了,因为 XAMPP 无非就是集成了 APache 之类的环境集成包,实现多域名也就是通过配置 Apache 实现的。

  当然网上搜索到的方法很多,但是网上的信息都是转载来转载去的,有的方法我怀疑是否验证过是否正确都不知道。以下的方法是我亲测的,如果你按照我的配置还是无法实现本地多域名调试的话,可能是因为你的 XAMPP 的版本和我的不一致造成的。你可以在下面评论告知我,我会给你一一解答。以下配置针对的是XAMPP Windows 1.7.1 版本。

  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 里。

  DocumentRoot /xampp/htdocs/a

  ServerName www.a.com

  DocumentRoot /xampp/htdocs/b

  ServerName www.b.com

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

  DocumentRoot /xampp/htdocs/

  ServerName localhost

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

  一般会出现 Forbidden You don't have permission to access \ on this server之类的403错误.

  Options FollowSymLinks

  AllowOverride None

  Order deny,allow

  deny from all

  Satisfy all

  然后试着把deny from all中的deny改成了allow,保存后重起了apache,然后再一测试打开网页即可!


你可能感兴趣的:(IP,apche,多域名)