标点符(钱魏 Way)

在XAMPP上建立多个域名的站点

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即可~ 注意这里要用 “/”,而不是“\”。

码字很辛苦,转载请注明来自标点符《在XAMPP上建立多个域名的站点》

评论