thinkphp 6 和 8 的路由文件必须放在 app/ 下对应应用的 route/app.php 中,单应用为 app/route/app.php,多应用为 app/{应用名}/route/app.php;config/route.php 仅配置路由参数,不写路由规则。

ThinkPHP 6 和 8 的路由文件路径一致,按应用结构区分,**不是放在 config/ 目录下**,而是严格落在 app/ 下对应的应用路由目录中。
单应用项目:app/route/app.php
这是最常见的情况。路由规则必须写在这个文件里,顶部需有:
-
use think\facade\Route;(否则 Route 类无法识别) - 所有
Route::get()、Route::post()等定义都放在此处 - 修改后必须清缓存:
php think route:clear,且内置服务器需重启才生效
多应用项目:app/{应用名}/route/app.php
比如后台应用叫 admin,正确路径是:
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
-
app/admin/route/app.php(而非app/route/admin.php或config/route.php) - 每个子应用独立维护自己的路由,互不影响
- 该文件同样需要
use think\facade\Route;
config/route.php 只控制开关,不写路由规则
这个文件仅用于配置路由行为参数,例如:
-
'url_route_must' => true(开启强制路由) -
'url_html_suffix' => 'html'(URL 后缀) -
'default_module'、'default_controller'等兜底设置 - 它不承载任何
Route::xxx()映射逻辑,写了也不会生效
注意几个典型错误位置
以下路径**不能**写路由规则,否则无效或报错:
-
config/route.php(只配参数,不写 Route::xxx) -
app/route.php(TP6+ 已弃用,无自动加载机制) -
app/common/route.php(common 是禁止对外访问的应用,默认不加载其路由) -
route/app.php(旧版 TP5 习惯,TP6+ 要求在app/route/app.php)
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










