小编Sod*_*ium的帖子

在Symfony 4中将路由重定向到语言前缀

从4.1版开始,Symfony现在无需外部插件即可处理多语言路由(https://symfony.com/blog/new-in-symfony-4-1-internationalized-routing)。我已经成功翻译了我的路线,并且一切正常,除了访问根网址(“ /”)时,Symfony会显示404错误,而不是重定向到诸如“ / en /”之类的语言文件夹。

我已经进行了一些研究,但发现的大多数内容已经过时了(主要是Symfony 2)。还遇到了这个Symfony 3将所有路由重定向到当前语言环境版本,但是对于这样一个简单的问题,这似乎是一个令人难以置信的繁琐解决方案。

理想情况下,我也想将URL“ / admin”重定向到“ / en / admin”,但是如果我无法实现它,那么我可以接受。

这是我的route / annotations.yaml文件:

controllers:
    resource: ../../src/Controller/
    type: annotation
    prefix:
        fr: '/fr'
        en: '/en'
        de: '/de'
Run Code Online (Sandbox Code Playgroud)

我的翻译.yaml文件:

framework:
#default_locale: '%locale%'
default_locale: 'en'
translator:
    paths:
        - '%kernel.project_dir%/translations'
    fallbacks:
        - 'en'
Run Code Online (Sandbox Code Playgroud)

本地路由配置:

@Route("/", name="home")
Run Code Online (Sandbox Code Playgroud)

php symfony

3
推荐指数
1
解决办法
1573
查看次数

标签 统计

php ×1

symfony ×1