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

Codeigniter页面链接跳转至仪表盘而非Login控制器问题求助

解决CodeIgniter中Login链接跳错页面的问题

嘿,刚入门Web开发和CodeIgniter很正常,遇到这种跳转问题别慌,咱们一步步排查:

  • 先修正链接的写法
    CodeIgniter不推荐直接硬写相对路径,因为容易受当前页面URL、base_url配置影响。把你的链接改成用框架自带的site_url()函数生成,这样能保证路径绝对正确:
<li class="nav-item"> 
  <a class="nav-link js-scroll-trigger" href="<?php echo site_url('Login'); ?>">Login</a> 
</li>

记得要确保你已经加载了URL辅助函数,如果没加载,可以在控制器的__construct里加一句$this->load->helper('url');,或者在application/config/autoload.php里把url辅助函数加入自动加载列表。

  • 检查Login控制器的默认方法
    你的控制器代码看起来没写完,CodeIgniter默认会调用控制器里的index()方法。你得确认Login控制器里的index()方法是正确加载登录视图,而不是跳转到仪表盘:
<?php 
class Login extends CI_Controller{ 
  function __construct(){ 
    parent::__construct();
    // 这里可以加载需要的辅助函数或模型,比如url、form等
    $this->load->helper('url');
  }

  // 必须要有这个默认方法
  public function index() {
    // 加载登录视图,这里要确保你的登录视图文件存在于application/views/目录下,比如login.php
    $this->load->view('login');
    // 千万不要在这里写redirect('dashboard')之类的跳转代码,不然点链接就会直接跳走
  }
}
  • 排查路由配置
    去application/config/routes.php文件里看看,有没有错误的路由规则把Login指向了仪表盘。比如有没有类似下面的代码:
$route['Login'] = 'dashboard';

如果有的话,删掉这条错误配置,或者改成正确的指向Login控制器。

  • 检查base_url的配置
    打开application/config/config.php,确认$config['base_url']已经正确设置成你的网站根地址,比如:
$config['base_url'] = 'http://localhost/your_ci_project/';

如果base_url没设置,site_url()生成的路径会出错,导致跳转异常。

  • 检查URL重写的.htaccess(如果用了的话)
    如果你为了去掉URL里的index.php而配置了.htaccess,确保它的规则是正确的,比如:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

错误的重写规则可能会导致控制器名称被解析错误,从而跳转到错误的页面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:34:00