php空间上使用opensns源码建站的站长应该知道,如果访问者没有登陆,访问某些模块时会跳转到另一个新的窗口并提示“该模块未对非登录用户开放。”,今天无忧主机在测试时发现访问微博模块也会跳转到这个页面,查看源码后发现这是因为没有登陆导致的,为了让网站有更好的体验度,我们可以对访问禁用模块设置一个跳转,让浏览者登陆后再访问,接下来为大家给介绍如何将opensns的禁用模块提示改为登录界面。

需要修改代码的文件位置是/Application/Common/Common/role.php,用ftp工具将此文件下载到本地,然后将原空间的role.php重命名为role.php.bak表示备份,为了不出编码格式问题,建议使用专业的文本编辑器打开,如sublime、notepad、editplus等软件。打开使用组合键Ctrl+F查找到关键词“该模块未对非登录用户开放”,一共在两处可找到下面这句代码:

$res['info'] = '该模块未对非登录用户开放。';

将这句代码用双斜杠“//”注释掉,然后在下面加上下面这句定位到登录页面的代码:

header('Location: index.php?s=/ucenter/member/login.html');

操作如所示,

图16 300x227 opensns访问禁用首页模块定位到登录页面

请注意要修改两处,否则不会跳转到用户登录界面,修改好后,用二进制模式上传到空间的原位置(单个文件用二进制上传,zip格式默认是二进制模式)。

当访问一个模块时,系统会检测该模块是否禁用当前登录用户所有角色前台访问,这时候如果检测到未登录状态就会提示没有权限访问,从源码判断这里因为访问者未登录而提示的信息,只要登录后便不会提示这个错误。

以上就是无忧主机独立IP虚拟主机环境下opensns访问禁用首页模块定位到登录页面教程。

本文地址:http://www.51php.com/opensns/27238.html

喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

阅读本文的人还阅读: