私人 Joomla 2.5 K2 项目在登录后重定向回主页而不是原始链接
Posted
技术标签:
【中文标题】私人 Joomla 2.5 K2 项目在登录后重定向回主页而不是原始链接【英文标题】:Private Joomla 2.5 K2 items redirects back to homepage instead of origin link after login 【发布时间】:2013-08-15 10:37:45 【问题描述】:我会尽力描述我们的问题。希望比我们聪明的人能解决这个问题。我们的一个 Joomla 网站有一些需要登录的内容,够简单吧?正常的登录功能效果很好。登录后,我们可以看到锁定的内容。但是假设我们有一个指向“锁定”页面的直接链接,一旦登录,页面就会重定向到主页(index.php)。
Joomla 2.5 本身应该保留原始链接,并重定向到该链接,而不是返回 index.php。因此,如果我的链接是 homepage.com/k2item1,登录后它应该转到 k2item1 而不是 index.php。我尝试关闭所有模块和插件,以防万一某些东西覆盖了链接中的本机登录功能。我已经检查了 .htaccess 文件的重定向。我已经在 SEO 设置“使用 URL 重写”中尝试了这两种设置,是/否都没关系。我已经尝试在我们的模板文件夹中重命名覆盖文件夹 (html),所以不应该发生覆盖。没有。该链接仍然重定向回 index.php。我什至尝试打印出表单/用户对象以查看原始链接是否存在,也就是“return”,并且链接在那里,但登录后,仍然是 index.php 而不是字符串“return”。任何想法将不胜感激。也许有插件可以帮助确保链接不会重定向到主页?
【问题讨论】:
更新:components/com_users/controllers/user.php 终于追查到哪里出了问题。第 35 行:$data['return'] = base64_decode(JRequest::getVar('return', '', 'POST', 'BASE64'));这没有得到“返回”即链接的形式。每次都是“/”。我将 $date['return'] 手动设置为所需的内部链接并且可以正常工作。任何有关如何解决此问题的想法将不胜感激。讨厌破解核心,但我只需要完成这件事(叹气)。 【参考方案1】:覆盖组件:mod_k2_user/login.php并编辑隐藏的输入名称“return”。
<input type="hidden" name="return" value="<?php echo base64_encode(JURI::current()) ?>" />
【讨论】:
以上是关于私人 Joomla 2.5 K2 项目在登录后重定向回主页而不是原始链接的主要内容,如果未能解决你的问题,请参考以下文章
Joomla 2.5 Uncaught ReferenceError:Joomla未定义