美文网首页
虚拟域名

虚拟域名

作者: 风声233 | 来源:发表于2018-08-20 14:00 被阅读25次
    配置虚拟域名简化 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
    

    大功告成。

    相关文章

      网友评论

          本文标题:虚拟域名

          本文链接:https://www.haomeiwen.com/subject/zstliftx.html