我们都知道,使用PHP调试环境的程序集成包诸如phpstudy、wamp、lamp等,部署好本地开发环境之后,我们就可以
通过localhost来访问本地站点根目录(默认是www文件夹)下的项目了,那么这篇文章所提到的,就是如何自定义域名。
比如,我想通过www.eco.com来访问本地项目,那该怎么做呢,下面给出步骤(以phpstudy为例):
1.打开你的电脑C:WindowsSystem32driversetc目录
你会看到有五个文件,像下面这样;
用记事本打开这个hosts文件,你会看到;
#号是用来注释的,所以现在这个文件,相当于什么都没写,so,我们得做点什么,嗯,那就加一行代码吧;
127.0.0.1 www.eco.com
嗯,就是这一行代码,它的意思是将127.0.0.1解析到我们自定义的这个域名(www.eco.com)下;
2.打开phpstudy安装目录下的阿帕奇配置文件目录:D:phpstudyApacheconf
我这里是选择apache作为web服务器的,所以要改阿帕奇的配置,你们如果用nginx的话,那就改nginx的
打开之后你会看到一些文件:
用记事本打开这个httpd.conf(nginx相对应的是nginx.conf),你会看到其中的一些代码:
由于#号起注释作用,我们可以看到,这里是会默认读取 conf/vhosts.conf 这个文件里面的信息作为站点配置信息的,
那么我们去找到这个文件,再次打开它:
不难看出,我们要设置两个东西,站点根目录和域名,于是我们将上面的ServerName,由32.32.32改为之前配置过
的www.eco.com,保存,最后重启phpstudy!
3.打开浏览器,输入www.eco.com查看效果
图中所示,是之前同事写的一个H5,www.eco.com默认访问show文件夹下的index.html,所以我们就看到了上图的结果了。
那么到这就结束了,是不是很好玩?
其实,这个关于域名,站点的配置,在之前也有讲过,在这特地给找了出来:linux上配置nginx站点。
这次写个本地版的,apache版的,希望对大家有所帮助。
4.注意点
可以看到,我将127.0.0.1映射到了4个域名下(还有baidu.com),然后去vhosts.conf文件里对这4个域名进行解析,
可以看到,我把这4个域名都解析到同一个项目下了,所以最后的结果不言而喻,这4个域名都能直接访问项目根目录下的index.*文件。
重点来了,注意这个www.baidu.com(因为是百度,所以做实验会比较直观),现在我们把apache关掉,然后依次在浏览器访问者4个域名
不出所料,前3个都不能显示啥,但是www.baidu.com怎么打不开百度了?!!这是怎么回事呢?!!
我们再来看看C:WindowsSystem32driversetchosts这个文件,注意这是一个系统文件,和phpstudy无关,
那么,将phpstudy的apache关掉之后,这个文件还是会影响到我们的访问的,
当浏览器访问www.baidu.com的时候,因为本地hosts文件有说:嗯,你去找这个ip-->127.0.0.1,于是浏览器就去找127.0.0.1了,
然后由于此时apache的服务是关的,所以就不会找到之前的项目了,所以页面显示错误,而且,因为我们显式地让浏览器去找127.0.0.1
那么,浏览器就不会去找www.baidu.com(百度)的真实ip地址(baidu的服务器很多,不同地方ping出来的IP也会不一样)。
只有当我们把这一行(127.0.0.1 www.baidu.com)去掉,才可以再次正常访问百度!