login_form中的返回值不起作用

时间:2012-10-31 08:26:01

标签: expressionengine

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

site.com/en/downloads

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

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

site.com/downloads

虽然它应该使用我的user_language

将我重定向到网址

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

  • 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> 

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

RewriteEngine On

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

更新

我按照建议尝试使用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>

3 个答案:

答案 0 :(得分:3)

我终于明白了。

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

现在一切都很好。

获得的经验:删除旧插件:)

答案 1 :(得分:1)

如上所述使用return="{user_language}/about/index"参数时,它是否正确输出HTML代码中的RET变量?如何添加自己的RET隐藏输入字段呢?只需将它放在您的登录表单中:

<input type="hidden" name="RET" value="{user_language}/about/index" />

根据HTML规范,如果两个输入具有相同的name,则后一个输出将覆盖任何先前的输入,因此以这种方式执行是没有问题的。

或者,您可以尝试使用Freemember插件 - 您可能会对返回网址更加满意,并且您也可以避免使用令人讨厌的灰色重定向页面。 </shameless-plug>

答案 2 :(得分:1)

我可能会看到这一点,但你不能使用

return =”{segment_1}/downloads”