php伪静态不支持中文,Discuz开启伪静态导致中文会员使用手机无法访问的解决方法...

最近小编遇到一些使用Discuz开源程序建站的一些奇葩问题,例如首页白屏,后台不显示等等。无忧主机php虚拟主机是完美支持discuz程序的。无忧主机小编刚上班不久又遇到了一个新鲜事情,一个站长来联系小编说论坛无法访问了。小编通过网址访问发现正常的呀。后来经过了解说是手机登陆会员后不能访问了。开始小编的思路是有没有在网站后台开启手机访问权限呢?于是就登陆网站后台查看了下的确是开启了,并且伪静态也是正常开启了的。小编开始下一步分析,既然不能访问,那么小编先用自己的手机访问测试下,结果说也是可以的呀。后来了解到该站长注册的是中文会员名,小编开始的时候很是奇怪,既然英文会员名都是可以正常访问的,中文名区别在哪里呢?原来是中文名再登陆访问的过程中也是会转换为英文字符串的。那么该如何解决这个问题呢?小编研究了两个可行的解决方法下面来分析下吧。

第一种解决方法:

打开source\function\function_core.php,查找如下代码:

if(defined('CACHE_FILE') && CACHE_FILE && !defined('CACHE_FORBIDDEN'))

修改为:

if(defined('CACHE_FILE') && CACHE_FILE && !defined('CACHE_FORBIDDEN') && !$_G['mobile'])

修改后上传覆盖就可以了。

第二种方法:

这种方法一般是对第一种方法的补充吧。如果第一种方法还是未得到解决就登陆网站的后台在伪静态设置的下方选择rewrite兼容性,切换 。设置为“ 否” 或者“是”然后再次打开function_core.php修改以下代码:

查找:

$_G['setting']['rewritecompatible'] && $username = rawurlencode($username)

更为:

$_G['setting']['rewritecompatible'] && $username = $username

修改后保存上传覆盖,这个时候就修改完毕了,这个时候还有一件事情要做就是更新下缓存文件。如果不更新可能手机中文用户还是不能登陆的。更新完毕,再次小编使用手机登陆中文的用户名果然就可以正常登陆了。

无忧主机相关文章推荐阅读:

快速去除整站程序文件编码中的BOM方法

解决DISCUZ“UC通信成功但通知失败”问题

DISCUZX3.2提示“DIY模板目录不正确“的一个解决方法

DISCUZX论坛中DIY页面对HTML的代码长度限制造成DIY页面错位

本文地址:https://www.51php.com/discuz/17135.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值