次のページにログインフォームがあります。
site.com/en/downloads
「en」は user_language です (グローバル var にそのまま保存されます)
ログインすると、フォームは次の場所にリダイレクトされます。
site.com/downloads
user_language を使用して URL にリダイレクトする必要がありますが、
私は多くのことを試しましたが、戻り値の値は常に無視されます。
- return =”{site_url}/{user_language}/downloads”</li>
- return =”{site_url}”</li>
- return =“http://site.com”</li>
- return =“http://google.com”</li>
- return =“about/index”</li>
それらはすべて 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>