带有翻译 url 的 Symfony 路由器

Symfony router with translated urls

我试图在 Symfony 中构建一个带有注释的路由器,其中 urls 也被翻译。我想将以下所有 url 路由到同一个控制器:

/over-ons
/nl/over-ons
/en/about-us

我使用以下注释路由器:

     /**
     * @Route("/{_locale}/over-ons", defaults={"_locale": "nl|en"}, requirements={"_locale": "nl"}, name="about-us")
     * @Route("/{_locale}/about-us", defaults={"_locale": "nl|en"}, requirements={"_locale": "en"}, name="about-us")
     */

但是当我在 Twig 中通过路径生成 url 时,总是使用最后一个 @route 而不是正确的 _locate 集之一。有什么建议会有所帮助吗?

从 SEO 的角度来看,是否也明智地支持 .html 在 url 之后?

如果您在同一个控制器方法上添加这 2 个注释,那么当然只使用最后一个,因为它会覆盖之前的所有注释。

如果你想要好的和可靠的国际化支持,我推荐使用JMSI18nRoutingBundle