1. <th id="nhrn5"><option id="nhrn5"></option></th>
    2. <tr id="nhrn5"></tr>
      欢迎来到 Newlifeclan Q&A, 你可以在此提问和回复,和社区其他用户共同交流。

      如何在XAMPP上建立多个域名站点?

      0 投票

      如何操作?

      时间: 2014年 11月 21日 作者: tdcq

      1个回答

      +1投票
       
      最佳答案

      这个问题简单,我已亲测成功

      XAMPP默认安装完毕后,站点文件默认放在/xampp/htdocs/ 文件下,并且可以通过http://localhost 进行访问。先前在测试各种程序的时候均是在/xampp/htdocs/ 文件下新建目录,比如/xampp/htdocs/wordpress ,然后通过http://localhost/wordpress/ 进行访问。

      于是想换种更好的方式来定义站点,进行更加方便的测试。如果我目前有测试三个程序的需求(wordpress,discuz,phpwind),期望给每个程序都单独的分配一个域名。比如

      • wordpress -> www.wordpress-test.com
      • discuz -> www.discuz-test.com
      • phpwind -> www.phpwind-test.com

      以下为具体解决方法:

      1、修改hosts文件

      不管你是否拥有上述域名,如果想通过域名访问自己建立的站点,这需要先对host文件进行修改。打开C:\Windows\System32\Drivers\etc目录下的 hosts 文件,加入如下三行:

      • 127.0.0.1  www.wordpress-test.com
      • 127.0.0.1  www.discuz-test.com
      • 127.0.0.1  www.phpwind-test.com

      添加完毕后,保存即可。Win7/Win8 遇到hosts文件无法修改的解决办法是,先把hosts文件复制到桌面,在桌面改好后再复制到 etc 文件夹下进行替换旧的hosts文件。

      2、修改Apache虚拟主机的配置

      在虚拟主机设置文件xampp\apache\conf\extra\httpd-vhosts.conf里设置:

      删除 NameVirtualHost *:80 前面的 ##,即删除注释来启用httpd-vhosts.conf里的配置。

      在文件最后追加以下内容:

      <VirtualHost *:80>
      DocumentRoot /xampp/htdocs/wordpress
      ServerName www.wordpress-test.com
      </VirtualHost>

      <VirtualHost *:80>
      DocumentRoot /xampp/htdocs/discuz
      ServerName www.discuz-test.com
      </VirtualHost>

      <VirtualHost *:80>
      DocumentRoot /xampp/htdocs/phpwind
      ServerName www.phpwind-test.com
      </VirtualHost>

      设置完毕后,保存并重启apache就可以通过www.wordpress-test.com直接访问/xampp/htdocs/wordpress下的内容了。

      3、让localhost再次生效

      做完了上述操作后,发现使用localhost直接定位到了/xampp/htdocs/wordpress下的内容了,而我期望的是还是定位到/xampp/htdocs/的内容。也就是默认的httpd的设置失效了。解决防范就是把localhost的配置在httpd-vhosts.conf里配置回来。

      再在文件的最后添加上如下内容,并重启Apache.

      <VirtualHost *:80>
      DocumentRoot /xampp/htdocs/
      ServerName localhost
      </VirtualHost>

      至此,XAMPP 的虚拟主机设置完毕,现在 访问 localhost 还是原来的 XAMPP 的内容,访问 www.wordpress-test.com 将指向到绑定的 wordpress 目录,访问 www.discuz-test.com 将指向到绑定的discuz 目录…

      接下来就引出另外一个问题,如果我不想把测试的程序放到/xampp/htdocs/目录下,比如说我想放在D:\website\目录下,该如何解决呢?要实现此功能共有2种方法:

      1、修改httpd-vhosts.conf文件中配置。

      先期的配置如下:

      <VirtualHost *:80>
      DocumentRoot /xampp/htdocs/wordpress
      ServerName www.wordpress-test.com
      </VirtualHost>

      需要修改为:

      <VirtualHost *:80>
      DocumentRoot D:\website\wordpress
      ServerName www.wordpress-test.com
      <Directory D:\website\wordpress> 
      Order allow,deny
      Allow from all
      </Directory>
      </VirtualHost>

      即新增一个Directory节点来允许目录可访问。注意:D:\wordpress\wordpress 文件夹的最后不需要再加”\”。

      2、修改httpd.conf文件中的配置

      打开E:\xampp\apache\conf目录下的httpd.conf文件。找到DocumentRoot所在行。将DocumentRoot “D:/xampp/htdocs”,修改为D:/website,找到<Directory “D:/xampp/htdocs”> 修改为 <Directory “D:/website”> ,保存后重启Apache即可~ 注意这里要用 “/”,而不是“\”。

      参考文章来自  http://www.biaodianfu.com/xampp-setup-vhost-and-multiple-domains.html

      已回复 2014年 11月 21日 作者: oooooo
      选中 2015年 1月 7日 作者:tdcq
      ...
      手机版斗牛