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

CodeIgniter 4.2.7路由异常:非主页链接访问出现404错误求助

问题原因与解决方案

核心问题

你的路由配置和视图链接路径存在前缀错误,导致CodeIgniter无法匹配到正确的控制器方法,触发404错误。

具体修正步骤

1. 调整路由配置

CodeIgniter 4的路由是基于baseURL的相对路径,不需要包含public前缀(public是项目的Web入口目录,不属于路由规则的一部分)。

修正后的路由代码:

$routes->get('/', 'c_accueil::index');
$routes->get('espaceNintendo', 'c_accueil::espaceNintendo');

2. 修正视图中的链接路径

anchor()助手函数会自动结合baseURL生成完整链接,无需手动拼接/public/。直接使用路由定义的路径即可:

修正后的v_menu代码:

<?=anchor('/', 'Accueil')?>
<?=anchor('espaceNintendo', 'Espace Nintendo')?>

如果需要更明确的路径,也可以使用site_url()函数生成完整URL:

<?=anchor(site_url('/'), 'Accueil')?>
<?=anchor(site_url('espaceNintendo'), 'Espace Nintendo')?>

原理说明

你的baseURL设置为http://localhost:63342/ProjetWeb,而Web服务器的入口指向项目的public目录,因此访问http://localhost:63342/ProjetWeb/public/时,CodeIgniter会解析为根路由/。

之前的路由配置中添加了/public/前缀,导致系统尝试匹配http://localhost:63342/ProjetWeb/public/public/espaceNintendo这个不存在的路径,从而返回404错误。修正后,路由规则会正确匹配http://localhost:63342/ProjetWeb/public/espaceNintendo,调用c_accueil::espaceNintendo方法。

内容的提问来源于stack exchange,提问作者Mélina Mitterrand

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 10:20:23