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

CodeIgniter3点击按钮跳转页面出现404错误求助

解决CodeIgniter中访问/reseller出现404错误的问题

看起来你遇到的是CodeIgniter路由和URL规则的典型问题,我来帮你一步步排查:

1. 确认URL的正确结构

CodeIgniter的默认URL规则是 base_url/控制器名/方法名。如果你的reseller()方法是写在默认控制器(比如Welcome.php)里的,那你按钮的链接应该写成:

<a href="<?php echo base_url('welcome/reseller'); ?>">Find Out More</a>

你之前直接写base_url()reseller,CodeIgniter会尝试去找一个名为Reseller.php的控制器,并调用它的index()方法,但你并没有这个控制器,所以会返回404。

2. 如果你想直接用base_url/reseller访问(无需控制器前缀)

可以通过配置路由来实现:
打开application/config/routes.php,添加一行:

$route['reseller'] = '你的控制器名/reseller';

比如你的方法在Welcome.php控制器里,就写:

$route['reseller'] = 'welcome/reseller';

这样访问http://localhost/xxxxx/reseller就会正确路由到对应的方法。

3. 检查控制器的命名规范(针对CodeIgniter 3)

如果你确实想创建一个Reseller控制器,请确保:

  • 控制器文件名是首字母大写的:Reseller.php
  • 控制器类名也是首字母大写,并且继承CI_Controller:
class Reseller extends CI_Controller {
    public function index() {
        // 如果你想访问/reseller直接显示页面,方法名应该是index
        $this->load->view('v_reseller');
    }
}

(注意:如果是这种情况,你的原方法名reseller()应该改成index(),否则访问/reseller还是会找index方法)

4. 检查.htaccess配置(确保URL中无需index.php)

如果你没有配置.htaccess来移除URL中的index.php,那正确的访问URL应该是http://localhost/xxxxx/index.php/reseller。如果想去掉index.php,在项目根目录创建.htaccess文件,内容如下:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

同时确保application/config/config.php里的$config['index_page']设置为空:

$config['index_page'] = '';

试试上面的步骤,应该能解决你的404问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:23:55