推荐应用
开启伪静态后,欢迎新会员中文用户无法访问的解决方法
发布于 2013-02-07
一直都有同学出现开启了伪静态,导致欢迎新会员后面是中文名字的用户的个人空间不能访问的问题,这个主要是因为手机缓存问题导致两次处理的url导致,如: 心梦 本应转换后的结果是 %D0%C4%C3%CE,但是被处理为: %25D0%25C4%25C3%25CE,下面我们就分享下开启伪静态后,欢迎新会员中文用户无法访问的解决方法
更改方法:打开source\function\function_core.php,查找到 output函数如下代码:
如果使用上面的方法还无法解决,可以尝试使用选择rewrite兼容性,切换 。设置为“ 是” 或者“否” 查看是否解决
如果,还是出现,用户空间不存在
打开:function_core.php,查找到:
更改方法:打开source\function\function_core.php,查找到 output函数如下代码:
if(defined('CACHE_FILE') && CACHE_FILE && !defined('CACHE_FORBIDDEN'))
更改为:
if(defined('CACHE_FILE') && CACHE_FILE && !defined('CACHE_FORBIDDEN') && !$_G['mobile'])
然后上传覆盖,更新下CSS缓存看看是否正常了。如果使用上面的方法还无法解决,可以尝试使用选择rewrite兼容性,切换 。设置为“ 是” 或者“否” 查看是否解决
如果,还是出现,用户空间不存在
打开:function_core.php,查找到:
$_G['setting']['rewritecompatible'] && $username = rawurlencode($username)
更为:$_G['setting']['rewritecompatible'] && $username = $username
rawurlencode函数的作用:除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,这也就是%被二次处理的原因,将rawurlencode函数去掉在试。