当前位置:首页 > 站长推荐 > Discuz登录后不跳转到登录前页面而是跳到首页的解决方法

Discuz登录后不跳转到登录前页面而是跳到首页的解决方法

在使用 Discuz 中,当用户没有登录的时候浏览帖子,这个时候,如果用户想要回复或者发表帖子,那么就需要登录,正确的逻辑是登录后跳转到帖子的回复或者发布页面,但是有的站长的论坛不管在什么时候登录都是跳转到首页,下面就讲解怎样解决Discuz登录后不跳转到登录前页面而是跳到首页。

解决方法一

如果你的discuz版本是7.0,很多站长的情况就是登陆后跳转到首页。这个BUG的缘由是后台关闭浮动窗口后,所以登录后就自动跳转到首页,无法跳转到登录前页面。
1.第一步
打开templates\default\login.htm,找到下面的代码:

1
2
  <input type="hidden" name="formhash" value="{FORMHASH}" />
  <div class="loginform nolabelform">

在这两句中间加上下面这句代码:

1
  <input type="hidden" name="referer" value="$ref" />

最后的代码是

1
2
3
  <input type="hidden" name="formhash" value="{FORMHASH}" />
   <input type="hidden" name="referer" value="$ref" />
  <div class="loginform nolabelform">

2.第二步
还是在templates\default\login.htm中,找到如下代码:

1
2
  $('messageright').innerHTML = '<h1><a href="{echo dreferer()}">{lang login_location}</a></h1>';
  setTimeout("window.location.href='{echo dreferer()}'", $mrefreshtime);

将其替换成如下代码:

1
2
  $('messageright').innerHTML = '<h1><a href="{echo $referer}">{lang login_location}</a></h1>';
  setTimeout("window.location.href='{echo $referer}'", $mrefreshtime);

3.第三步
找到templates\default\header.htm打开,查找下面的代码:

1
  logging.php?action=login

把上面的代码替换成下面的代码,注意有两个查找结果,都需要替换层下面的代码

1
  logging.php?action=login&ref=<!--{echo rawurlencode($_SERVER['REQUEST_URI']);}-->

根据上面的三步修改后就应该正确跳转了。

解决方法二

找到 /templates/default/中的login.htm,打开大约在51行左右,找到下面的代码

1
  <input type="hidden" name="formhash" value="{FORMHASH}" />

在下面加入

1
  <input type="hidden" name="referer" value="$referer" />

修改后的代码如下所示:

1
2
  <input type="hidden" name="formhash" value="{FORMHASH}" />
  <input type="hidden" name="referer" value="$referer" />
  • << 关于Discuz用户面板必须刷新才能显示登...
  • 怎样在wordpress网站添加小工具 >>
  • 作者:
    除非注明,本文原创:知道91,欢迎转载!转载请以链接形式注明本文地址,谢谢。
    原文链接:http://www.zhidao91.com/discuz-error-redirect/

    相关文章 近期热评 最新文章

    • 使用微信JDK实现微信接口签名验证
      要使用微信的接口必须在绑定的域名下测试;签名必须先向微信请求到access_token,然后用access_token再去请求jsapi_ticket,最后用jsapi_ticket和相关的参数按照ASCII码...
    • oracle数据库相关操作注意事项
      修改Oracle SGA(共享内存) 很多网站说修改Oracle的内存通过命令 如果你这么做了,那么恭喜你,你的Oracle数据库无法启动了。如果你已经这么做了,恢复Oracle启动的方...
    • oracle数据库相关操作注意事项
      修改Oracle SGA(共享内存) 很多网站说修改Oracle的内存通过命令 如果你这么做了,那么恭喜你,你的Oracle数据库无法启动了。如果你已经这么做了,恢复Oracle启动的方...
    • 使用微信JDK实现微信接口签名验证
      要使用微信的接口必须在绑定的域名下测试;签名必须先向微信请求到access_token,然后用access_token再去请求jsapi_ticket,最后用jsapi_ticket和相关的参数按照ASCII码...
    • ABP开发指南系列教程(2) – 多层架构...
      为了减少复杂性和提高代码的可重用性,采用分层架构是一种被广泛接受的技术。为了实现分层的体系结构,ABP遵循DDD(领域驱动设计)的原则,将工程分为四个层: 展现层(...
    • ABP开发指南系列教程(1) – 入...
      ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称。 ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WE...
    • Windows下 JIRA + Agile + Mysql 破解...
      本文讲述了Windows下 JIRA + Agile + Mysql 破解安装示例教程
    • c#类的构造函数继承关系示例剖析
      本文通过示例代码讲解了c#子类的构造函数与父类的关系,子类怎样集成父类的构造函数的。