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

点击页面链接后Controller在URL中重复的技术问题咨询

解决CodeIgniter中链接Controller重复的问题

嘿,我来帮你搞定这个链接路径重复的问题!咱们先捋清楚问题出在哪:

你第二个链接里的PHP代码有两个关键错误:

  1. 写了<?php base_url(); ?>但没加echo,导致这段代码根本不会输出任何内容,这个链接实际上变成了相对路径 index.php/Main_controller/load_compliance
  2. 当你从第一个正常页面(URL是http://[::1]/competence/index.php/Main_controller/chronicles)点击这个相对路径链接时,浏览器会把它拼接到当前页面的路径后面,自然就出现了重复的index.php/Main_controller

而第一个链接能正常工作,是因为你用了echo site_url('Main_controller/chronicles')——site_url()会帮你生成完整的绝对路径,不管当前页面在哪,点击后都会指向正确地址。

给你两个简单的解决方案:

方案一:统一使用site_url()推荐

和第一个链接保持一致,用site_url()生成链接,它会自动根据你的CodeIgniter配置(比如index_page)生成正确路径:

<a href="<?php echo site_url('Main_controller/load_compliance') ?>">SEMINAIRES <br/>PASSS</a>

方案二:正确使用base_url()

如果非要用base_url(),记得要echo输出,并且正确拼接路径(base_url()返回的是网站根路径,比如http://[::1]/competence/,需要手动加上index.php和控制器方法):

<a href="<?php echo base_url('index.php/Main_controller/load_compliance') ?>">SEMINAIRES <br/>PASSS</a>

另外建议你检查下application/config/config.php里的配置:

  • 确保$config['base_url']设置正确,比如http://[::1]/competence/
  • $config['index_page']设置为'index.php'(如果项目还在用index.php的话)

这样就能彻底解决路径重复的问题啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:31:35