Discuz! 6.1~7.0升级后request路径不兼容以及相应修改方案
在Discuz! 6.1中,通过request函数获得的数据缓存中的链接包含了完整的Discuz!路径。但是在Discuz! 7.0中则只包含了相对路径。这是因为Discuz! 7.0中/include/request.func.php文件中增加了一行$boardurl=$mode?$boardurl:'';这一修改限制了request的使用范围,使得仅在Discuz!的根文件夹中调用request才有效。为了解决这一限制,需要对该处代码进行修改。修改如下
$boardurl=$mode?$boardurl:(true===defined('REQUEST_BOARDURL')?REQUEST_BOARDURL :'');这里通过判断是否定义了一个常量来设置$boardurl变量。此处不要通过判断全局变量来设置,因为Discuz!会把所有请求的参数都释放到全局变量中,进而导致安全漏洞。
[Discuz! - 官方网站]
http://www.discuz.net/[Discuz! - 常见问题]
Discuz! 6.1 从GBK编码转为UTF-8编码Discuz! 6.1 多语言翻译工作范围
Discuz! 6.1 兼容问题
Discuz! 6.1 发送HTML格式电子邮件
Discuz! 6.1~7.0 安装SupeSite后导致安全漏洞
Discuz! 6.1 不修改模板在贴子上增加收藏按钮
Discuz! 6.1 cpmsg函数在IE下和Firefox下表现不一致
Discuz! 6.1~7.0 升级后request缓存文件名不兼容
Discuz! 6.1~7.0升级后request路径不兼容以及相应修改方案