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配置文件:apache/conf/httpd.conf中的
- 搜索 “Virtual hosts”
- # Virtual hosts
- # Include /Applications/XAMPP/etc/extra/httpd-vhosts.conf
- # Virtual hosts
- Include /Applications/XAMPP/etc/extra/httpd-vhosts.conf
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>
<VirtualHost *:80>
DocumentRoot /myprogram/Apache2/htdocs/ewebcmsxgc
ServerName xg.hitwh.edu.cn
</VirtualHost>
注意:/myprogram为,e:/myprogram.
设置完毕后,保存并重启apache就可以通过www.wordpress-test.com直接访问/xampp/htdocs/wordpress下的内容了。
另外需要:
想了一下,觉得还是权限<Directory>权限配置的问题,在httpd.conf找了一下,终于发现了问题,XAMPP默认的设置是这样的:
#<Directory />
AllowOverride none
Require all denied
</Directory>
修改成下面的就可以了!
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>