Php 登录Symfony2后维护区域设置

Php 登录Symfony2后维护区域设置,php,symfony,authentication,fosuserbundle,Php,Symfony,Authentication,Fosuserbundle,在一个使用Symfony的多语言网站上,我在侧边栏中嵌入了一个带有登录表单的页面。假设我使用的是西班牙语版本,当前的url是mysite.com/es。在这个页面上,$request->getLocale()给了我'es',一切都很好 但是,如果我在这个页面上提交登录表单,我会进入mysite.com。url中的'es'部分已消失,$request->getLocale()为我提供'en'。如何使我的url和区域设置不发生更改 我的表格: <form id="login-form" met

在一个使用Symfony的多语言网站上,我在侧边栏中嵌入了一个带有登录表单的页面。假设我使用的是西班牙语版本,当前的url是
mysite.com/es
。在这个页面上,
$request->getLocale()
给了我
'es'
,一切都很好

但是,如果我在这个页面上提交登录表单,我会进入
mysite.com
。url中的
'es'
部分已消失,
$request->getLocale()
为我提供
'en'
。如何使我的url和区域设置不发生更改

我的表格:

<form id="login-form" method="POST" action="/login-check">
    <input type="text" id="userEmail" name="_username">
    <input type="password" id="userPassword" name="_password">
    <input type="hidden" name="_csrf_token" value="{{ fos_csrf_provider.generateCsrfToken('authenticate') }}">
</form>

您正在查找以下内容:


粘性区域。我在我的一个项目中使用了它。

尝试创建一个登录侦听器,然后重定向到正确的位置
main:
    pattern: ^/
    form_login:
        provider: fos_userbundle
        csrf_provider: form.csrf_provider
        login_path: / 
        check_path: /login_check
    logout:
        path: my_site_logout
        target: /
        success_handler: my_site.logout_success_handler
    anonymous:    true
    remember_me:
        key:        %secret%