【问题标题】:Symfony 5.1 route issueSymfony 5.1 路由问题
【发布时间】:2020-08-20 12:03:28
【问题描述】:

我今天安装了symfony 5.1.3,发现路由配置有问题。我不确定这是否是故意的。但至少它与 symfony 4.4 不同。我在 4.4 中有以下设置,它工作正常。

homepage:
   path: 
      en-us: /
      others: /{_locale}/
   controller: App\Controller\IndexController::homepage
   requirements:
      _locale: en-us|zh-cn|zh-hk

以上设置让我可以成功访问domain.com和其他mydomain.com/en-usmydomain.com/zh-cnmydomain.com/zh-hk

但是现在在 symfony 5.1 中,上面的设置现在不起作用了。我相信对系统具有特殊意义的 _locale 可能是根本原因。谁能帮帮我?

【问题讨论】:

标签: symfony routes locale


【解决方案1】:

我认为您错误地使用了本地化路线功能。 path 中的键是语言环境。在您的情况下,您有 2 个语言环境:en-usothers。尝试打开mydomain.com/others,您会发现它正在工作。

我建议将此配置拆分为 2 条路线:

homepage:
    path: /
    controller: App\Controller\IndexController::homepage

homepage_others:
    path: /{_locale}/
    controller: App\Controller\IndexController::homepage
    requirements:
        _locale: en-us|zh-cn|zh-hk

【讨论】:

  • mydomain.com/others 对我不起作用。我尝试了您的解决方案,它确实符合我的要求。但是这个解决方案以某种方式产生了一个小的重复的sn-p。为什么 symfony 5.1 在 4.4 中恢复了这个非常需要的特性?
  • Symfony 没有恢复这个功能。我认为您正在使用此功能,而不是以传统方式。也许他们改变了一点,你的案子不再起作用了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-10
  • 2011-05-20
  • 1970-01-01
  • 1970-01-01
  • 2013-01-18
相关资源
最近更新 更多