您现在的位置是: 首页 > ThinkPHP8 ThinkPHP8
关于Thinkphp6 Route设置,Url访问的一个问题
冬寂 2020-08-05 23:35:23 【ThinkPHP8】 5184人已围观
版本:thinkphp6
应用:多应用模式(默认模块index)
问题描述:我做一个个人博客
想把URL设计成 http://域名/栏目名 访问栏目 (多栏目)
http://域名/栏目名/id 访问文章 (如:http://www.blog.com/thinkphp/5)
尝试过:Route::rule(‘thinkphp’,’index/index/list’); 访问栏目
可以访问一个特定的栏目,但是要每个栏目写一条,甚至要后端一个栏目对应一个方法
而且一旦设置就走不到下边的文章访问
尝试过:Route::rule(‘thinkphp/:id’,’index/index/article’); 访问文章
但是每个栏目都要来写这么一条,才可以正常访问相应栏目文章
可以这样进行匹配:
Route::get(“/:case”,’index/index/list’); // 访问栏目
这里根据传参 case 变量匹配栏目,你可以根据传的变量进行类别查询。
Route::get(“:/case/:id”,”index/index/article”);//访问栏目下的文章
这里传参类别和对应的文章id ,根据类别和文章id 返回详细的文章。
个人建议你不要这样使用,这种动态路由可能会影响到你其他类目的匹配
Route::get('about', 'index/index/about');
Route::get(':model/:id', 'index/index/article')->pattern(['model' => '[a-zA-Z]+', 'id' => '\d+']);
Route::get(':model', 'index/index/list')->pattern(['model' => '[a-zA-Z]+']);
注:以上三个顺序不能颠倒
上一篇: ThinkPHP6-入门笔记
下一篇: 没有了!
相关文章
随机图文
-
gov.cn分站统计
gov.cn分站统计 -
Geohash原理
Geohash原理 -
抗生素:如何解决超级细菌?
“超级细菌”这个词想必你肯定听说过,就是指当前大部分抗生素或者所有抗生素都杀不死的那些细菌。 -
当我读了4000期《时代》周刊以后(The TIME Project)
在2013年到2017年期间,我阅读了从1923年到2000年的每一期《时代》杂志,总共将近4000期,同时也相当于是研读了77年有价值的历史。一开始,我只是把这项阅读工程当成一种追踪经济历史的方式,但最后的落脚点却是个人变革。通过一周接一周地阅读一代又一代人出版的《时代》,我能够观察与感知到历史画卷在我面前徐徐展开。这个经历最终改变了我的生活方式。原作者Scott Krisiloff