You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter 4.3.1 HMVC模式下登录后重定向控制器失败求助

问题排查与修复方案

1. 修复重定向代码的语法错误

你的Login控制器里redirect()->to("home/dashboard);存在引号未闭合的语法错误,这会导致PHP解析异常,进而生成错误的URL。同时必须加上return才能触发重定向:

return redirect()->to('home/dashboard');

2. 修正路由定义的多余斜杠

Routes.php中$routes->get('/home/dashboard', 'home\Controllers\Dashboard::index');的URI开头带了斜杠,CI4路由定义不需要前缀斜杠,会导致路由匹配失败。改为:

$routes->get('home/dashboard', 'home\Controllers\Dashboard::index');

3. 规范视图路径写法

Dashboard控制器里的视图路径用了反斜杠\App\Modules\home\Views\dashboard,CI4推荐用正斜杠,且可简化路径(框架会自动在Modules目录下查找):

return view('home/Views/dashboard', $data);

4. 统一命名空间大小写

CI4对命名空间大小写敏感,建议控制器命名空间统一使用大写App开头(符合框架规范):
Login控制器命名空间修正:

namespace App\Modules\auth\Controllers;

Dashboard控制器同理:

namespace App\Modules\home\Controllers;

5. 可选:使用路由名称(更可靠)

为路由定义名称,避免URI拼写错误:

// 在Routes.php中给路由命名
$routes->get('home/dashboard', 'home\Controllers\Dashboard::index', ['as' => 'dashboard']);

重定向时直接调用路由名称:

return redirect()->route('dashboard');

这种方式后续修改URI时无需改动重定向代码,更健壮。


内容的提问来源于stack exchange,提问作者Marius

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 22:07:28