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:WindowsSystem32Driversetc目录下的 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虚拟主机的配置
在虚拟主机设置文件xamppapacheconfextrahttpd-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:websitewordpress
ServerName www.wordpress-test.com
<Directory D:websitewordpress>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
即新增一个Directory节点来允许目录可访问。注意:D:wordpresswordpress 文件夹的最后不需要再加””。
2、修改httpd.conf文件中的配置
打开E:xamppapacheconf目录下的httpd.conf文件。找到DocumentRoot所在行。将DocumentRoot “D:/xampp/htdocs”,修改为D:/website,找到<Directory “D:/xampp/htdocs”> 修改为 <Directory “D:/website”> ,保存后重启Apache即可~ 注意这里要用 “/”,而不是“”。