如何在 XAMPP 中设置多个网站

鉴客 发布于 2011/10/08 10:47
阅读 12K+
收藏 7

【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”

xampp 是一个非常方便的本地 apache + php + mysql 的调试环境,在本地安装测试 WordPress 等各种博客、论坛程序非常方便。今天我们来给大家介绍一下,如何使用 XAMPP 在本地进行安装多个网站。

一般情况下,我们只需要网站程序放到 xampp/htdoc 目录下,然后在浏览器里输入 ip 地址 http://127.0.0.1/ 或者输入域名 http://localhost/ 就可以了。但是这样我们只能使用一个程序,建立一个网站。如果我们想要测试测试不同的程序,比如一个WordPress的网站,一个Discuz!的论坛,再加上一个ShopEx的网店,那就比较麻烦了。我们这篇文章,就给大家介绍一下,如何在 xampp 中添加多站点支持,让你可以很方便地安装多个网站。

比如说,我们想要在本地安装两个测试域名,www.abc.tld, www.xyz.tld, 分别指向到 htdoc 目录下的 abc.tld 和 xyz.tld 文件夹下。tld 是顶级域名 the top domain 的缩写。如果你喜欢,也可以用 abc.com, abc.net 这样的顶级域名来代替。这里使用 tld 主要是为了避免和真实域名冲突。

1. 在 hosts 文件中设置域名解析

和正常的域名一样,这两个域名并不存在,我们也需要进行解析;否则浏览器不知道去哪儿找到服务器。我们来使用本地 hosts 文件来解决这个问题。这个文件用来指定域名和ip地址之间的映射关系。当你要在浏览器中要输入一个网站进行访问的时候,浏览器会向本地网络的dns服务器发出域名解析请求。但是在发出解析请求之前,首先会在hosts文件中查找是否有解析记录;如果有域名的记录,则使用该记录进行访问。因此,这个文件相当于域名解析的高速缓存文件。

Hosts 文件保存在 C:\Windows\System32\drivers\etc 目录下,无扩展名,使用文本编辑器(记事本,emeditor,UltraEdit等)可以打开编辑;如果是 Windows Vista 或者 Windows 7 ,需要首先使用管理权权限打开记事本。

screenshot-0920-6

然后,我们在文件最后面添加两行域名解析记录,每行一个域名。前面为ip地址,空间用空格或者制表符隔开,后面是域名:

127.0.0.1 www.abc.tld
127.0.0.1 www.xyz.tld

如下图所示:

screenshot-0929-10

然后保存该 hosts 文件。

2. 在 htdocs 目录下添加两个文件夹

我们在 xampp/htdocs 目录下建立两个文件夹,分别命名为 www.abc.tld 和 www.xyz.tld 。这里文件目录的名字设置为域名格式是为了便于区分,并非强制要求;只要目录名和后面的设置一致即可。

我们在 www.abc.tld 目录中添加一个 index.html 文件,内容如下

<html>
	<h1>Welcome to www.ABC.tld</h1>
</html>

在 www.xyz.tld 目录中也添加一个同样的 index.html 文件,将其中 ABC 替换为 XYZ 即可。

说明一下,这个 index.html 文件并不符合 HTML 规范,只是最后用来验证我们的多域名支持成功与否。

3. 在 apache 中添加多域名支持

现在岁最关键的一步,要集中注意力了哦。我们来让 apache 中绑定多个域名,支持多个站点的访问。使用文件编辑器打开文件 xampp\apache\conf\extra\httpd-vhosts.conf 。

首先找到 NameVirtualHost *:80 ;去掉前面的注释符号 # 。如果没有这一行,就自己添加一行。

然后添加以下代码:

<VirtualHost *:80>
    ServerAdmin postmaster@abc.tld
    DocumentRoot "/xampp/htdocs/www.abc.tld"
    ServerName www.abc.tld
    ErrorLog "logs/www.abc.tld-error.log"
    CustomLog "logs/www.abc.tld-access.log" combined
</VirtualHost> 

<VirtualHost *:80>
    ServerAdmin postmaster@xyz.tld
    DocumentRoot "/xampp/htdocs/www.xyz.tld"
    ServerName www.xyz.tld
    ErrorLog "logs/www.xyz.tld-error.log"
    CustomLog "logs/www.xyz.tld-access.log" combined
</VirtualHost>

添加之后,保存该文件。httpd-vhosts.conf 中代码如下图:

screenshot-0929-12

4. 重启 Apache 并验证多域名

摄制完成之后,重新启动 apache 服务,重新打开浏览器。并在浏览器中分别输入 http://www.abc.tld 和 http://www.xyz.tld ,可以分别看到以下结果:

screenshot-0929-16

设置之后,在浏览器里分别输入 http://www.abc.tld 和 http://www.xyz.tld ,就会显示不同的内容。如果你看到内容和上图一样,那说明你的 xampp 支持多域名已经设置成功了。否则,请从头检查,看看什么地方设置出错了 。

如果你还有什么问题或疑问,欢迎通过留言来告诉我们。

本文链接: http://wpchina.org/how-to-support-multi-domain-in-xampp-1025/

加载中
0
iRoy930
iRoy930
嗯,这几天刚好在折腾这个,我用的WAMP。
0
zlt315
zlt315
按照您的方法配置完后访问 http://192.168.0.6/www.abc.tld/才可以,但是访问 http://www.abc.tld/ 不行,为什么域名访问不生效呢?
0
刘涛
谢谢!!!
0
zsn1218
zsn1218
谢谢,有了这个学习的机会,只有懂得多的人才会有风度,不像我在论坛提问:他们不说就不说是吧,还恶意的回复,害我还以为有人不吝赐教了,空欢喜一场,看到一次又一次的回复,我真不想来这里了,今天把WAMP下了想学xampp上网收索看到你的文章,写得很好,很仔细,都有建两个的冲动了
0
任飘扬
任飘扬
不错正好,我需要收藏啊
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部