Discuz教程网

开启伪静态后,欢迎新会员中文用户无法访问的解决方法

[复制链接]
authicon dly 发表于 2012-5-5 22:03:14 | 显示全部楼层 |阅读模式

一直都有同学出现开启了伪静态,导致欢迎新会员后面是中文名字的用户的个人空间不能访问的问题,这个主要是因为手机缓存问题导致两次处理的url导致,如: 心梦  本应转换后的结果是  %D0%C4%C3%CE,但是被处理为: %25D0%25C4%25C3%25CE,下面我们就分享下开启伪静态后,欢迎新会员中文用户无法访问的解决方法


更改方法:打开source\function\function_core.php,查找到 output函数如下代码:
  1. if(defined('CACHE_FILE') && CACHE_FILE && !defined('CACHE_FORBIDDEN'))
复制代码

更改为:
  1. if(defined('CACHE_FILE') && CACHE_FILE && !defined('CACHE_FORBIDDEN') && !$_G['mobile'])
复制代码

然后上传覆盖,更新下CSS缓存看看是否正常了。

如果使用上面的方法还无法解决,可以尝试使用选择rewrite兼容性,切换 。设置为“ 是” 或者“否”  查看是否解决
如果,还是出现,用户空间不存在

打开:function_core.php,查找到:
  1. $_G['setting']['rewritecompatible'] && $username = rawurlencode($username)
复制代码

更为:
  1. $_G['setting']['rewritecompatible'] && $username = $username
复制代码

rawurlencode函数的作用:除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,这也就是%被二次处理的原因,将rawurlencode函数去掉在试。

如果是你的伪静态配置方法不正确导致,可以查看下Discuz! X2.5论坛不同环境配置伪静态的方法,如果你想做个性化的伪静态,也可以看看Discuz!伪静态原理分析



上一篇:Discuz X2.5论坛不同环境配置伪静态的方法
下一篇:Discuz!伪静态原理分析
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2024-5-19 06:30

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表