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

带尾斜杠的自定义路由重定向至主域名问题咨询

问题原因与解决方案

这是Symfony(Shopware基于Symfony构建)路由系统的自动尾斜杠重定向机制导致的,结合Shopware多销售渠道的Base URL配置,重定向过程中丢失了/staging前缀。Symfony默认会自动处理路由尾斜杠:要么将带尾斜杠的URL重定向到不带的,要么反过来,这个重定向会在匹配到你的自定义路由之前触发,所以你添加的第二条带尾斜杠的路由根本不会被执行。

解决方法

1. 给路由添加严格匹配规则

在路由注解里加上requirements={"_strict_requirements"="true"},关闭Symfony的自动尾斜杠重定向,这样两个路由可以独立匹配:

@Route("/path", name="frontend.path.index", options={"seo"="false"}, methods={"GET"}, requirements={"_strict_requirements"="true"})
@Route("/path/", name="frontend.path.index.trailing_slash", options={"seo"="false"}, methods={"GET"}, requirements={"_strict_requirements"="true"})

可以让两个路由指向同一个控制器方法,避免重复代码。

2. 全局配置路由尾斜杠规则

在config/packages/routing.yaml中设置全局路由的严格匹配,一次性解决所有路由的尾斜杠问题:

framework:
    router:
        strict_requirements: true
        trailing_slash_on_root: false # 根据你的需求调整是否保留根路径的尾斜杠

开启后,Symfony不会自动处理尾斜杠重定向,所有路由需明确定义带/不带尾斜杠的格式。

3. 验证销售渠道Base URL配置

确认你的http://tld.de/staging销售渠道的Base URL配置完全正确,没有遗漏或错误。Shopware的路由生成依赖这个配置拼接完整URL,若配置有误也会导致重定向时丢失前缀。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 01:36:24