gpt4 book ai didi

php - Symfony 4.1 i18n 路由前缀 : exclude route

转载 作者:行者123 更新时间:2023-12-04 01:56:07 25 4
gpt4 key购买 nike

我有一个在 Symfony 4.1 上运行的 i18n 项目。

我想实现一些路由,比如:

  • /=> 一个“选择语言”页面路由
  • /fr/or/en/=> 主页路由
  • /fr/foo/,/en/bar, etc => 其他路线

关注此article ,我正在使用注释来处理路由,并为我的注释路由设置了一个全局前缀:

site:
resource: '../src/Controller/'
type: annotation
prefix:
en: '/en'
fr: '/fr'

这样,所有在'../src/Controller/'的注解中定义的路由都带有前缀,这导致我的“选择语言”页面和主页发生冲突。

我想从 i18n 前缀中排除“选择语言”页面,这样当主页可以保留在/fr 或/en 时,我就可以对此页面使用“/”。

有什么想法可以实现吗?

最佳答案

annotations.yaml 顶部定义此路由,不带前缀选项:

_choose_language:
path: /
controller: App\Controller\ChooseLanguageController

site:
resource: '../src/Controller/'
type: annotation
prefix:
en: '/en'
fr: '/fr'

并且不要为这个特殊的 Controller 使用路由注释:

class ChooseLanguageController
{
public function __invoke()
{
return new Response('Choose Language!');
}
}

然后这个 Action 被排除在 i18n 前缀之外。

关于php - Symfony 4.1 i18n 路由前缀 : exclude route,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50589455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com