ThinkPHP路由配置文件必须放在app/route/app.php(单应用)或app/{name}/route/app.php(多应用),放错位置如config/route.php会导致路由完全不加载,所有自定义规则失效,执行php think route:list输出为空。

ThinkPHP路由配置文件放错位置会导致框架完全跳过路由加载,所有自定义路由规则失效,访问时直接返回404或走默认URL解析(如index.php?s=user/read),哪怕语法完全正确、开关已开启、缓存已清,也毫无作用。
误放至 config/route.php 的后果
config/route.php 只控制全局行为开关(如 url_html_suffix、force),不承载任何路由映射逻辑。把 Route::get() 写进去,框架根本不会执行它。
这一步操作起来很简单,直接把文件拖进去就行——但拖错地方就全白干。
你写进 config/route.php 的每一条 Route::get('user/:id', 'User/read') 都像扔进真空管里,无声无息,【框架压根不读这个文件里的 Route 调用】。
立即学习“PHP免费学习笔记(深入)”;
验证方式:执行 php think route:list,输出为空列表;或者在 config/route.php 顶部加 die('here');,刷新页面毫无反应——说明该文件根本没被加载。
应放位置与错误路径对照
单应用项目必须放在:app/route/app.php
多应用项目(如 admin)必须放在:app/admin/route/app.php
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
常见错误路径包括:config/route.php、route/route.php、app/route.php、app/common/route.php、app/index/route.php(缺少 /app.php 后缀)。
【只要不是 app/{name}/route/app.php 这个精确路径,框架就不会自动加载】。
注意:app 目录下没有 route 子目录?那就得手动创建 app/route/,再建 app.php,不能只建一个 app/route.php 文件。
补救步骤
第一步:剪切 config/route.php 中全部 Route::* 代码
第二步:粘贴到 app/route/app.php(单应用)或 app/{name}/route/app.php(多应用)
第三步:确认该文件开头有 use think\facade\Route;
第四步:检查 config/app.php 中 'app_route' => true 是布尔型 true,不是字符串或数字
第五步:执行 php think route:clear


















