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

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

解决HMVC CodeIgniter本地部署出现ERR_TOO_MANY_REDIRECTS的问题

Hey there, sorry to hear you're stuck with the ERR_TOO_MANY_REDIRECTS issue on your local HMVC CodeIgniter setup. Let's break down the possible causes and fixes based on what you've shared.

错误截图

ERR_TOO_MANY_REDIRECTS错误截图

你的.htaccess配置代码

RewriteEngine On
Options +FollowSymLinks
Options -Indexes
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule . index.php [L,QSA]
#RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

核心问题分析与修复

1. .htaccess中的无效重定向规则(最可能的原因)

你.htaccess最后一行的RewriteRule是未注释的,但对应的RewriteCond被注释掉了。这条规则会让服务器把所有请求重定向到完全相同的URL,直接造成无限重定向循环,这就是ERR_TOO_MANY_REDIRECTS的直接诱因。

修复方式:

  • 如果你不需要www相关的重定向,直接删除最后一行RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L];
  • 如果确实需要强制www跳转,取消上方RewriteCond的注释并修正规则(本地环境一般不需要,建议直接移除):
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
    

2. CodeIgniter基础配置检查

  • 确认base_url设置:打开application/config/config.php,确保$config['base_url']填写正确的本地项目地址,比如http://localhost/你的HMVC项目名/。如果留空或填写错误,CodeIgniter生成的URL会引发重定向问题。
  • 检查index_page配置:同样在config.php中,确保$config['index_page'] = '';。因为你的.htaccess已经处理了index.php的重写,这里留空才能避免URL冲突。

3. 服务器模块与缓存问题

  • 启用mod_rewrite:如果你用XAMPP/WAMP等本地服务器,需确认mod_rewrite模块已开启。打开Apache的httpd.conf文件,找到#LoadModule rewrite_module modules/mod_rewrite.so,移除开头的#后重启Apache。
  • 清除浏览器缓存:由于你配置了301永久重定向(哪怕是错误的),浏览器会缓存这个规则。建议用无痕模式测试,或手动清除浏览器缓存后再尝试访问。

4. HMVC模块路由检查

部分自定义的模块路由规则可能意外造成循环重定向。检查各个模块下的routes.php文件,确保路由规则没有指向自身或形成循环跳转。


内容的提问来源于stack exchange,提问作者İsmail Berkay Kara

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:48:21