虚拟域名

2018-08-20  本文已影响25人  风声233
配置虚拟域名简化 URL 路径
Snipaste_2018-08-20_13-36-40.png
例如我们要定位到 Test.php 中的 hello 方法,我们需要输入以下域名:
http://localhost/zerg/public/index.php/sample/test/hello
(php 域名默认忽略大小写,所以可以写为 test 或 Test 都可以)

这个 URL 路径太长了,而且 index.php 在我们的认知中是一个网页,后面再跟着 sample/test/hello,显得很怪,即语义不明确。
我们可以把这个 URL 看成两部分看。入口文件之前是一部分( localhost/zerg/public/index.php ),之后是另一部分( sample/test/hello )。
后者的简化需要用到路由的知识,我们重点介绍一下前者,通过配置虚拟域名进行简化。
我们在开发过程中,可以在本地生成一个虚拟域名来简化入口文件前的一大串。

这是我们的目标:
http://z.cn/sample/test/hello

让 apache 认识 z.cn 的具体操作如下:
找到 xampp 文件夹下的
apache\conf\extra目录下的httpd-vhosts.conf文件,在最后一行写入:

<VirtualHost *:80>
    DocumentRoot "D:/xampp/htdocs/zerg/public"
    ServerName z.cn
</VirtualHost>

( DocumentRoot 以自己的目录为准,指向zerg下的public目录 )
改完这里之后,还要改一个地方,这里是让 apache 认出 z.cn ,我们还要让我们的浏览器也能认出 z.cn。

打开 c:\Windows\system32\drivers\etc 下面的hosts文件。
最后一行输入:

127.0.0.1 z.cn

接下来我们就可以通过 z.cn/sample/test/hello 打开之前讲的了

但是这里有一个潜藏问题:
当输入 localhost 时,会打开 zerg/public/index.php 文件,如果有多个项目时,这样做是不妥的。因为主配置文件httpd.conf中定义了 DocumentRoot 为 htdocs 文件夹,即输入 localhost 应该定位到 htdocs 文件夹下。
所以需要在httpd-vhosts.conf中再加入几行,让 localhost 也是我们的虚拟主机。

<VirtualHost *:80>
    DocumentRoot "D:/xampp/htdocs"
    ServerName localhost
</VirtualHost

大功告成。

上一篇下一篇

猜你喜欢

热点阅读