login_form中的返回值不起作用

jan*_*nvl 9 expressionengine

我在以下页面有一个登录表单:

site.com/en/downloads

"en"是user_language(并且存储在全局var中)

当我登录时,表单将我重定向到:

site.com/downloads

虽然它应该使用我的user_language将我重定向到URL

我尝试了很多东西,但返回值的值总是被忽略.

  • return ="{site_url}/{user_language}/downloads"
  • return ="{site_url}"
  • return ="http://site.com"
  • return ="http://google.com"
  • return ="about/index"

他们都重定向到site.com/downloads.

正在输出的代码(对于最后一个示例)如下所示:

<form method="post" action="http://site.com/"  >
<div class='hiddenFields'>
<input type="hidden" name="XID" value="9fae3b1b5fcf882776da6638706595af73a7b15d" />
<input type="hidden" name="ACT" value="7" />
<input type="hidden" name="RET" value="about/index" />
<input type="hidden" name="site_id" value="1" />
</div> 
Run Code Online (Sandbox Code Playgroud)

我有一个.htaccess,看起来像这样:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L] 
Run Code Online (Sandbox Code Playgroud)

更新:

我按照建议尝试使用freemember,但问题仍然存在:

我已将返回值设置为"about/index",但我仍然被重定向到site.com/downloads.

freemember生成的代码看起来很稳固,因此必须覆盖返回值.

<form method="post" action="http://site.com/downloads"  >
<div class='hiddenFields'>
<input type="hidden" name="XID" value="d9483688fbf63d9ea47e89a66e074b99f5b8465c" />
<input type="hidden" name="ACT" value="18" />
<input type="hidden" name="_params" value="wvkEsN96mPfmlhgerM2ppxGbMmiLJrz0Ntn7apKer/rmBpQaUozvSM0TvkVN66QlX/ptCM1IQGsuZuw7X3mzlOMCFIUyYFpbZy5h7nfPJMiHLdpqXqwBFOiA/zcNW0GKAIicv4JPAS2mfHKQE+mb2Ct0L+jhGz0NlSdELuMOeqQPJJ3B7U90D5w/sKTeaX5zaOMSvKJ4LZ7xP0Dn+UxE9g==" />
<input type="hidden" name="return_url" value="about/index" />
<input type="hidden" name="site_id" value="1" />
</div>
Run Code Online (Sandbox Code Playgroud)

jan*_*nvl 3

我终于弄明白了。

显然我仍在使用一个名为“Twomile Login Redirect”的小插件,它劫持了我的登录代码(即使它被禁用,我也必须将其删除)

所以现在一切都很好。

经验教训:删除旧插件:)