这听起来像你有两个不同的问题。
路由 /login 不存在。您已经在 /es/login、/en/login 和 /de/login 上方设置了三个路由,但没有单独设置 /login。
您必须设置一些访问控制设置,不允许未经身份验证的用户访问上述三个路由,因此您将被重定向到 /login 以进行身份验证...但如第 1 点所述,该路由不存在。
要解决第 1 点,您实际上需要设置一个处理登录表单的路由。有关分步方法,请参阅 Symfony 文档:http: //symfony.com/doc/current/book/security.html#using-a-traditional-login-form
对于第 2 点,您需要在 security.yml 文件中设置一些访问控制,以允许用户无需登录即可访问您的登录页面:
access_control:
- { path: ^/es/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/en/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/de/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
您必须已经具有如下所示的访问控制,否则您的登录页面将在无限循环中崩溃:
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
不过我不得不说,如果它只是一个简单的登录表单,那么坚持使用 1 个登录表单并使用翻译处理标签和登录文本会更好。http://symfony.com/doc/master/book/translation.html