全新Magento安装后访问http://localhost/pub/setup报ERR_TOO_MANY_REDIRECTS错误
ERR_TOO_MANY_REDIRECTS 常见诱因
- 命令行安装时填写的基础URL配置和实际访问地址不匹配,包括协议(HTTP/HTTPS)、域名、路径后缀不一致
- Web服务根目录未指向Magento的
/pub目录,触发Magento自带的路径重定向逻辑 - 安装后未清理旧缓存,系统依然读取之前的重定向规则
- Apache的
mod_rewrite模块未开启、pub目录下.htaccess文件丢失/被篡改,或Nginx重写规则配置错误 - Cookie域配置和实际访问域名不匹配,导致session校验反复触发重定向
排查解决步骤
- 先清理缓存和旧生成文件
进入Magento项目根目录,依次执行以下命令:
bin/magento cache:flush rm -rf var/cache/* var/page_cache/* generated/code/*
完成后在浏览器无痕模式下尝试访问,排除本地缓存的重定向规则干扰。
- 校验数据库中的基础URL配置
连接Magento使用的数据库,执行查询语句确认基础URL配置:SELECT * FROM core_config_data WHERE path IN ('web/unsecure/base_url', 'web/secure/base_url');
需保证两个配置的值和你实际访问的地址完全一致,比如访问地址是http://localhost/,就不能配置为http://127.0.0.1/或带/pub后缀,且末尾必须带斜杠。如果配置错误执行更新语句修改,示例:
UPDATE core_config_data SET value = 'http://localhost/' WHERE path = 'web/unsecure/base_url'; UPDATE core_config_data SET value = 'http://localhost/' WHERE path = 'web/secure/base_url';
没有配置HTTPS的情况下不要将安全URL设置为HTTPS开头的地址。
修正Web服务根目录配置
Apache、Nginx的站点根目录必须指向Magento项目的/pub目录,而非项目根目录。以Apache为例,站点配置中的DocumentRoot需填写为/你的项目绝对路径/pub,修改完成后重启Web服务生效。检查重写规则配置
- 若使用Apache:执行
a2enmod rewrite开启重写模块,确认站点配置中AllowOverride参数设置为All,允许.htaccess生效;同时检查pub目录下是否存在Magento默认的.htaccess文件,丢失则从对应版本的官方源码中拷贝替换。 - 若使用Nginx:确认使用了Magento官方推荐的Nginx配置规则,排查是否存在重复写的重定向逻辑导致循环跳转。
- 修正Cookie域配置
执行数据库查询语句检查Cookie域配置:SELECT * FROM core_config_data WHERE path = 'web/cookie/cookie_domain';
如果存在非空且和当前访问域名不匹配的值,执行更新语句清空或修改为对应域名,示例:UPDATE core_config_data SET value = NULL WHERE path = 'web/cookie/cookie_domain';
内容的提问来源于stack exchange,提问作者rishab-digimantra
相关产品推荐
相关产品推荐

