您现在的位置是: 首页 > ThinkPHP8 ThinkPHP8
关于Thinkphp6 Route设置,Url访问的一个问题
冬寂 2020-08-05 23:35:23 【ThinkPHP8】 5120人已围观
版本: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-入门笔记
下一篇: 没有了!