修改hosts文件为本地虚拟主机绑定域名

以前本地的测试网站都是通过 localhost/xxx这种方式访问,比较麻烦,今天发现可以通过hosts文件给本地虚拟机绑定域名。

1、绑定本地虚拟主机

hosts文件中添加:

127.0.0.1 t.com
127.0.0.1 7.t.com
127.0.0.1 bbs.t.com

hosts文件不支持通配符,不能泛解析,有点遗憾。

然后建立虚拟主机:

# Ensure that Apache listens on port 80
Listen 80
# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "D:/xampp/htdocs"
ServerName www.t.com
ServerAlias t.com. *.t.com
# Other directives here
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "D:/xampp/htdocs/bbs"
ServerName bbs.t.com
# Other directives here
</VirtualHost>

 

2、虚拟机中绑定

debian下lnmp环境,ip 192.168.242.134

修改host文件:

192.168.242.134 test.com
192.168.242.134 dz.com

lnmp中添加dz.com虚拟主机。

效果1(test.com)

image

效果2(dz.com)

image

One thought on “修改hosts文件为本地虚拟主机绑定域名

  1. 上面方法有一点问题,虚拟主机配置应在 extra/httpd-vhosts.conf文件中,并且只能监听一次80端口,否则会报错。

    1、首先修改C盘WINDOWS\system32\drivers\etc目录下的 hosts 文件,用记事本打开,加入:
    127.0.0.1 http://www.tecbbs.com
    127.0.0.1 http://www.annhe.net

    2、打开xampp\apache\conf\httpd.conf文件,搜索 “.. conf/extra/httpd-vhosts.conf”,确保前面没有 # 注释符,也就是确保引入了 vhosts 虚拟主机配置文件。

    开启了httpd-vhosts.conf,默认的httpd.conf默认配置失效(确保 httpd-vhosts.conf 文件里也开启了虚拟主机配置,见第3条),访问此IP的域名将全部指向 vhosts.conf 中的第一个虚拟主机。

    3、在虚拟主机设置文件xampp\apache\conf\extra\httpd-vhosts.conf里设置:
    取消 NameVirtualHost *:80 前面的 ##,这样就启用了 vhosts.conf ,默认的httpd.conf默认配置失效。虚拟主机配置将只设置在 httpd-vhosts.conf 里。

    DocumentRoot /xampp/htdocs/bbs
    ServerName http://www.tecbbs.com


    DocumentRoot /xampp/htdocs/blog
    ServerName http://www.annhe.net

    4、 设置完了第3条之后,你会发现访问 localhost直接指向到设置的 a 那个路径去了,这个问题在第2条有讲。也就是开启了 vhosts 后,默认的 httpd 的配置就会失效了,默认的访问就指向到 vhosts 里的第一条设置去了。这时候你要把 localhost 的目录配置给设置回来。

    DocumentRoot /xampp/htdocs/
    ServerName localhost

    至此,XAMPP 的虚拟主机设置完毕,现在 访问 localhost 还是原来的 XAMPP 的帮助指南,访问 http://www.tecbbs.com 将指向到绑定的 tecbbs 目录,访问 http://www.annhe.net 将指向到绑定的 blog 目录。

    参考http://blog.163.com/mike_homis/blog/static/201049482009101223650238/

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注