首页 > 解决方案 > 无法覆盖主页尾部斜杠

问题描述

我的站点没有使用基本 url (mydomain.com)
的“主页”。默认路由包含该_locale参数,因此,根据我的设置方式,无法匹配路由的一部分。

Config A

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

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

mydomain.com/en
mydomain.com/en/

但将无法匹配

mydomain.com
mydomain.com/

Config B

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

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

mydomain.com
mydomain.com/mydomain.com/en
_

但将无法匹配

mydomain.com/en/

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

标签: symfonysymfony-3.4symfony-routing

解决方案


找到我的答案:

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

推荐阅读