十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要介绍“thinkphp框架怎么实现路由重定义url访问地址简化”,在日常操作中,相信很多人在thinkphp框架怎么实现路由重定义url访问地址简化问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”thinkphp框架怎么实现路由重定义url访问地址简化”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
专注于为中小企业提供成都网站设计、网站建设、外贸网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业镇巴免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。如果按照正常访问的话,则需要输入一长串的url地址,这样会显得十分冗长,我可以可以通过对路由规则的重新定义简化url访问地址。
本来的访问路径应该是:
localhost/tp/index.php/index/index/hello
我们在路由定义文件(application/route.php)里面添加一些路由规则,如下:
return [ // 添加路由规则 路由到 index控制器的hello操作方法' hello/:name' => 'index/index/hello', ];
这是以hello开头的并且带参数的访问都会路由到index控制器的hello操作方法。
此时路径可以写为:
localhost/tp/hello/Thinkphp
此时输出结果为:
HelloThinkphp!
改变路由规则后若使用原来的路径访问方法后,则会出现错误。
但此时有一个问题是,如果访问地址为:
localhost/tp/hello
话,会抛出 模板不存在的错误,因为在访问时,没有传参,而在定义路由规则时,则带有参数。
解决办法是在修改路由规则为:
return [ // 添加路由规则 路由到 index控制器的hello操作方法' hello/[:name'] => 'index/index/hello', ];
使用[]
把路由规则中的变量包起来,就表示该变量为可选,接下来就可以正常访问了。
当name参数没有传入值的时候,hello方法的name参数有默认值World,所以输出的内容为
Hello,World!
除了路由配置文件中定义之外,还可以采用动态定义路由规则的方式定义,例如在路由配置文件(application/route.php)的开头直接添加下面的方法:
use think\Route; Route::rule('hello/:name', 'index/hello');
完成的效果和使用配置方式定义是一样的。
无论是配置方式还是通过Route类的方法定义路由,都统一放到路由配置文件application/route.php文件中
到此,关于“thinkphp框架怎么实现路由重定义url访问地址简化”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!