我如何自动将_locale添加到注释中的url

时间:2018-11-15 20:10:33

标签: php symfony routing annotations

嗨,我有通往“前线”控制器的路线,

/**
 * @Route("/{_locale}/{furl}", defaults={"_locale"="pl","furl"=" "}, name="front", requirements={"_locale"="pl|de|en"})
 * @Route("/{furl}", defaults={"_locale"="pl"})
 */

现在是问题所在,因为当我们得到时,即url / pl / test也可以作为/ test使用,但是如果有人编写/ test进行重写,如何将其作为默认设置的/ pl / test ,因为seo获得一个指定链接很重要。它很酷,可以同时使用,但是如何在注释中自动将/ test重写为/ pl / test呢?

1 个答案:

答案 0 :(得分:1)

为什么不尝试将根URL '/'重定向到'/pl'而仅启用'/pl/test'
这是在config/routes/annotations.yaml

中执行此操作的方法
controllers:
    resource: ../../src/Controller/
    type: annotation
    prefix: 
      pl: '/pl'
      de: '/de'
      en: '/en'

root:
    path: '/'
    defaults:
        _controller: FrameworkBundle:Redirect:urlRedirect
        path: '/pl'
        permanent: true

Symfony Documentation上查看更多信息