Dockware部署Shopware 6出现ERR_TOO_MANY_REDIRECTS问题求助
Shopware 6(Dockware本地环境)分类页面301重定向循环问题解决
问题场景
通过Dockware搭建的全新Shopware 6本地环境(Docker Desktop + MacOS),使用以下docker-compose.yml配置:
version: "3" services: shopware: image: dockware/dev:latest container_name: shopware ports: - "80:80" - "3306:3306" - "22:22" - "8888:8888" - "9999:9999" - "9998:9998" volumes: - "db_volume:/var/lib/mysql" - "shop_volume:/var/www/html" networks: - web environment: - XDEBUG_ENABLED=1 - PHP_VERSION=8.1 volumes: db_volume: driver: local shop_volume: driver: local networks: web: external: false
- 前端首页、购物车等页面正常访问
- 带SEO URL的分类/落地页触发
ERR_TOO_MANY_REDIRECTS(301状态码) - 切换店铺域名语言且禁用SEO URL时,分类页面可正常访问
解决步骤
1. 修正店铺域名配置
- 登录Shopware后台,进入设置 > 店铺 > 店铺,编辑目标店铺
- 将前端域名设置为
http://localhost(不要添加末尾斜杠或额外路径) - 确认语言域名列表中的配置与实际访问地址一致
- 保存后点击后台右上角的「清除缓存」按钮,或在容器内执行命令清理缓存:
docker exec -it shopware bin/console cache:clear
2. 重新生成SEO URL索引
- 进入后台设置 > 系统 > 缓存与索引 > 索引器
- 找到「SEO URL」索引器,点击「运行」按钮重新生成所有SEO规则
- 完成后再次测试分类页面访问情况
3. 检查Docker容器内的Web服务器配置
- 进入Dockware容器:
docker exec -it shopware bash - 查看Apache虚拟主机配置(Dockware默认用Apache):
cat /etc/apache2/sites-available/000-default.conf - 确保
ServerName设置为localhost,且无多余的强制重定向规则 - 重启Apache服务:
service apache2 restart
4. 排查本地环境端口与Hosts配置
- 检查MacOS本地
/etc/hosts文件,确保无多余的localhost映射条目 - 确认80端口未被其他服务占用,可通过以下命令排查:
lsof -i :80 - 若端口被占用,停止对应服务或修改Docker端口映射(如将
80:80改为8080:80,同时更新Shopware后台的前端域名)
额外排查点
- 查看容器内Apache日志,定位重定向触发源:
# 访问日志 tail -f /var/log/apache2/access.log # 错误日志 tail -f /var/log/apache2/error.log - 确认Shopware环境变量未强制HTTPS:检查容器内
.env文件,确保APP_URL为http://localhost而非HTTPS地址
内容的提问来源于stack exchange,提问作者Patricks
相关产品推荐
相关产品推荐

