CodeIgniter 4路由异常:访问login路由出现404页面未找到错误
问题原因及解决办法
核心问题:请求方法不匹配
你配置的路由仅接收POST请求:
$routes->post('login', 'Form::login');
但在浏览器地址栏直接输入localhost:8080/login发起的是GET请求,CodeIgniter 4找不到对应路由,因此返回404错误。
解决办法
根据你的需求选择任意一种方案:
- 若需要支持GET访问(比如直接在浏览器打开测试),修改路由为GET请求:
或者同时支持GET和POST请求:$routes->get('login', 'Form::login');$routes->match(['get', 'post'], 'login', 'Form::login'); - 若仅需POST请求(正常登录场景),不要直接在地址栏输入,通过表单提交(设置表单
method="post")或使用Postman等工具发送POST请求到该地址。
额外检查点
确保你的Form控制器文件位置和命名规范正确:
- 文件路径:
app/Controllers/Form.php - 控制器类代码结构:
namespace App\Controllers; class Form extends BaseController { public function login() { echo "Hello world"; } }
内容的提问来源于stack exchange,提问作者user88
相关产品推荐
相关产品推荐

