【问题标题】:Can't override homepage trailing slash无法覆盖主页尾部斜杠
【发布时间】:2019-07-10 16:52:35
【问题描述】:

我的网站没有使用基本网址 (mydomain.com)
的“主页” 默认路由包含_locale 参数,因此无法匹配路由的一部分,具体取决于我的设置方式。

配置A

homepage:
    path: /{_locale}/
    defaults:
        _locale: '%locale%'
    requirements:
        _locale: '%locales%'

第一个配置会将路由主页与以下 URL 匹配

mydomain.com/zh
mydomain.com/en/

但是会匹配失败

mydomain.com
mydomain.com/

配置 B

homepage:
    path: /{_locale}
    defaults:
        _locale: '%locale%'
    requirements:
        _locale: '%locales%'

第二个配置会将路由主页与以下 URL 匹配

mydomain.com
mydomain.com/
mydomain.com/zh

但是会匹配失败

mydomain.com/en/

知道我的配置中缺少什么来匹配 4 种可能的 URL 模式吗?

【问题讨论】:

    标签: symfony symfony-3.4 symfony-routing


    【解决方案1】:

    找到我的答案:

    homepage:
        path: /{_locale}{trailingSlash}
        defaults:
            _locale: '%locale%'
            trailingSlash: ''
        requirements:
            _locale: '%locales%'
            trailingSlash: /?
    

    【讨论】:

      猜你喜欢
      • 2012-06-14
      • 2014-03-07
      • 1970-01-01
      • 2013-02-28
      • 1970-01-01
      • 1970-01-01
      • 2020-05-20
      • 2012-01-06
      相关资源
      最近更新 更多