我是靠谱客的博主 简单白猫,最近开发中收集的这篇文章主要介绍PHP的Thinkphp5的apache服务器开发过程中的虚拟域名简化以及路由配置,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在PHP的thinkphp开发过程中URL格式为

http://serverName/index.php/module/controller/action/[param/value...]

 开发过程中反复输入次URL十分的繁琐影响开发效率,为此可以通过修改配置来完成虚拟域名替换,主要分为两步

第一步:打开apache目录下的confextra内的httpd-vhosts.conf

加上这么一段


<VirtualHost *:80>
DocumentRoot "D:PHPXMAPPhtdocszergpublic"
ServerName z.cn

</VirtualHost>

<VirtualHost *:80>
DocumentRoot "D:PHPXMAPPhtdocs"
ServerName localhost

</VirtualHost>


第一段是配置虚拟域名,第二段是localhost指向public目录

虚拟主机监听80端口,DocumentRoot 的值为项目public地址,根据个人情况改变

ServerName就改成各位喜闻乐见的自定义域名了

如此就可以让apache服务器认出虚拟域名记下来

第二步则是让浏览器认出

C:Windowssystem32driversetc下的host文件 

这里注意一定不要用记事本打开,如果记事本打开请改回无后缀!

加入127.0.0.1 z.cn

即本地回环IP加上虚拟域名

注意这里如果保存失败则把host.txt从文件夹拖到桌面上修改后拖回来即可,重启阿帕奇服务器即可


同时在个人调试中也遇到了3个问题困扰了我近3个小时,特此与分享

1.如果虚拟域名与万维网的域名重复时,360浏览器等,可以删除上网痕迹即可实现域名重定向

2.注意文件后缀名,host文件是没有后缀的,这里个人用记事本打开后,没有改回来,也是排查这个小错误了好久

3.httpd.conf文件下的virtual hosts下的引入必须取消注释


另外路由配置中虚拟域名后面的部分时需要用到thinkphp5路由技术的,因为要是URL更加灵活并且支持语义化,如果固定模块控制器方法的方式不够灵活的。


TP5的路由在application下的route.php


这是初始的文件代码


TP5的编写方式有两种,一种是如上图的配置式编写方式Path_Info,第二种是动态注册

个人推荐动态写法,因为易读性更强一些


首先删除默认的配置代码,之后首先得引入TP5的一个类

use thinkRoute;

所有动态注册都是通过Route类完成的

路由定义格式为:Route::rule('路由表达式','路由地址','请求类型','路由参数(数组)','变量规则(数组)')

一般需要定义前三个,前两个为必要参数,路由表达式就是你要配置的URL后面的部分,路由地址就是控制器下面的某一个方法

后三个可以缺省,HTTP请求类型就是大家熟知GET,POST,DELEETE,PUT,*(此为缺省) *表示任何一种方式都可以,一般限制其中的一种方式即可,如果想支持两种就有|分割,比如GET|POST

路由参数也是对路由做出限制,具体参考官方文档,要求格式为数组格式['https'=>ture,...]

   Route::rule('hello','sample/Test/hello',‘GET’);

同时TP5提供了简化,比如要将上面的路由配置可以如此简化,需要注意的是ANY就是*


   Route::GET('hello','sample/Test/hello');

使用route类下的rule方法指定路由即可

则根据上述两步操作我们的URL便是z.cn/hello便十分简单

注意:原有的pathinfo在注册路由后会失效!

TP5内的URL访问模式有PATH_INFO模式,混合模式以及强制使用路由模式

这几种模式在application的canfig.php下进行配置


推荐使用单一路由配置模式,可以使项目具有统一性!



最后

以上就是简单白猫为你收集整理的PHP的Thinkphp5的apache服务器开发过程中的虚拟域名简化以及路由配置的全部内容,希望文章能够帮你解决PHP的Thinkphp5的apache服务器开发过程中的虚拟域名简化以及路由配置所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部