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

Magento 1.9.3.1仅首页报Too many redirects及Moved Permanently错误求助

Magento 1.9.3.1 首页Too many redirects(双斜杠)问题排查方案

我之前处理过好几起Magento 1.9.x版本的类似重定向问题,结合你描述的症状——仅首页/index.php出现Too many redirects错误、地址栏站点名称末尾出现双斜杠、控制台所有GET请求路径显示为//,可以从以下几个方向逐步排查修复:

1. 检查.htaccess文件的重写规则

Magento的.htaccess是重定向问题的高发区,重点关注这两部分:

  • 末尾斜杠处理规则:检查是否存在冲突的规则,比如同时有强制添加斜杠和移除斜杠的规则,这会直接导致循环重定向。例如,下面是正确的移除多余末尾斜杠的规则(如果你的站点不需要强制末尾带斜杠):
    RewriteCond %{REQUEST_URI} !^/index.php
    RewriteCond %{REQUEST_URI} /$
    RewriteRule ^(.*)/$ $1 [L,R=301]
    
  • RewriteBase设置:确认RewriteBase的值是否正确,根目录站点应设置为RewriteBase /,子目录站点要对应调整为RewriteBase /your-subdir/,错误的RewriteBase会导致路径解析异常,出现双斜杠。

2. 修正后台URL配置

如果还能登录Magento后台,优先通过后台修改;无法登录的话直接修改数据库:

  • 后台操作:进入系统 > 配置 > Web > 安全,检查基础URL和安全基础URL的格式,确保末尾没有双斜杠,比如正确格式是http://your-domain.com/(单个斜杠或不带斜杠都可,不要双斜杠)。
  • 数据库修改:直接操作core_config_data表,查找web/unsecure/base_url和web/secure/base_url两条记录,修正值的格式,移除多余的斜杠。

3. 检查index.php文件的路径处理

如果曾自定义修改过index.php,可能存在路径拼接错误:

  • 打开根目录的index.php,检查是否有手动拼接URL的代码,比如在定义MAGENTO_ROOT或处理请求路径时,是否多添加了斜杠。例如,确保define('MAGENTO_ROOT', getcwd());的路径正确,没有多余斜杠。
  • 排查是否有第三方插件或自定义代码修改了首页的URL生成逻辑,导致双斜杠出现。

4. 清除缓存与浏览器Cookie

缓存残留很可能导致修复后问题依然存在:

  • 清空Magento的缓存目录:直接删除var/cache和var/session下的所有文件(注意备份重要缓存,如果有的话)。
  • 清除浏览器的Cookie和缓存:浏览器会缓存旧的重定向规则,即使服务器端修复,依然会触发循环重定向。

5. 检查服务器配置

根据你使用的服务器(Apache/Nginx)做对应检查:

  • Apache虚拟主机:确认DocumentRoot的设置末尾没有斜杠,比如正确格式是DocumentRoot /var/www/html/magento,而非/var/www/html/magento/,否则会导致URL解析时出现双斜杠。
  • Nginx配置:检查root指令和重写规则,比如默认的try_files $uri $uri/ /index.php?$args;如果和Magento的URL规则冲突,可调整为:
    location / {
        try_files $uri /index.php?$args;
    }
    
    避免$uri/触发多余的斜杠添加。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:09:53