ci4路由文件位于app/config/routes.php,因采用面向对象设计与psr-4规范,配置类统一置于app/config/下且首字母大写;它通过$routes实例注册规则,废弃ci3的application/config/routes.php数组式配置,修改后需清缓存或开启debug模式。

CodeIgniter 4 的路由文件 Routes.php 位于 app/Config/Routes.php。
为什么是这个路径
CI4 采用面向对象和 PSR-4 命名空间规范,所有配置类统一放在 app/Config/ 目录下,文件名首字母大写,对应类名(如 Routes 类)。
- 该文件默认已存在,由框架安装时生成
- 它不是纯配置数组,而是一个 PHP 脚本,通过
$routes实例(CodeIgniter\Router\RouteCollection对象)注册路由规则 - 常见写法如:
$routes->get('/', 'Home::index');
和 CI3 的关键区别
CI3 的路由文件在 application/config/routes.php,用 $route 数组定义;CI4 完全废弃该方式——即使你在 CI4 项目里新建一个 application/config/routes.php,框架也不会读取它。
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
- CI4 不识别
$route数组语法,写了也无效 - 目录结构、命名空间、加载机制全部重构,二者不可混用
修改后要清缓存
CI4 默认启用路由缓存,改完 app/Config/Routes.php 后,需手动清除缓存才能生效:
- 命令行执行:
php spark cache:clear - 或删除
writable/cache/下的路由缓存文件 - 开发阶段可临时关闭缓存:在
.env中设app.debug = true
确保请求真正进入框架
路由不生效,往往不是文件位置或语法问题,而是 Web 服务器未正确重写 URL:
- Apache 需启用
mod_rewrite,并确保项目根目录有有效.htaccess - Nginx 需在 server 块中配置
try_files $uri $uri/ /index.php?$query_string; - 如果访问总是跳转到
index.php或直接 404,先检查重写规则是否生效
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










