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

CodeIgniter项目本地部署遇ERR_TOO_MANY_REDIRECTS错误求助

解决CodeIgniter本地访问重定向过多问题

1. 修复.htaccess的重定向规则

你的.htaccess规则是引发无限循环的核心原因:

  • 第一条规则会将端口80的所有请求重定向到http://localhost/chuksb2b/$1,但当你已经访问该路径时,规则会反复触发,形成循环。
  • 最后一行的Redirect 301规则会将项目内的xmlrpc.php强制跳转到127.0.0.1根目录,进一步干扰正常访问。

替换为适合本地开发的.htaccess内容(适配CodeIgniter 3.x):

<IfModule mod_rewrite.c>
    RewriteEngine On
    # 跳过真实存在的文件和目录
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    # 将请求转发到index.php处理
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

如果是CodeIgniter 2.x版本,将最后一行改为RewriteRule ^(.*)$ index.php?/$1 [L]即可。

2. 精简config.php配置

你的config.php中存在冗余的base_url生成代码,且缺少关键的index_page配置,调整如下:

<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');

$config['modules_locations'] = array(
    FCPATH . 'modules/' => '../../modules/'
);
ob_start();

// 直接设置本地base_url,删除自动生成的冗余代码
$config['base_url'] = "http://localhost/chuksb2b/";
// 清空index_page,配合.htaccess去掉URL中的index.php
$config['index_page'] = '';
$config['per_page'] = 5;

// Other configurations...

// Remaining configurations...

3. 排查其他潜在重定向触发点

  • 路由规则:打开application/config/routes.php,检查是否存在自定义路由将某个路径指向自身,导致循环跳转。
  • 控制器代码:检查项目控制器文件,确认是否有错误使用redirect()函数的情况(比如首页控制器无限重定向到自身)。
  • Cookie/Session配置:在config.php中确保Cookie配置适配本地环境:
    $config['cookie_domain'] = '';
    $config['cookie_path'] = '/';
    
  • 数据库连接:虽然重定向问题通常与数据库无关,但错误的数据库配置可能导致页面异常跳转,确保application/config/database.php中的用户名(默认root)、密码(默认空)、数据库名与本地XAMPP的MySQL一致。

4. 清除浏览器缓存

浏览器缓存的旧重定向规则可能残留影响,直接清除当前网站的Cookie和缓存,或使用无痕模式访问测试。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 14:15:04