473333最快开奖结果l,8080cc现场报码,六开彩开奖现场直播六,年六和彩期开什么,香港马会开奖结果王中王
473333最快开奖结果l你还要她演示给你看8080cc现场报码,六开彩开奖现场直播六可年六和彩期开什么、香港马会开奖结果王中王

[求助] DZ论坛访问中文用户出现“抱歉,您指定的用户空间不存在”

2018-10-26 16:40

今天遇到了这个问题,顺便解决了!纯属搬运,希望能帮到同样出现此问题的朋友!

rewrite兼容性设置,是用来解决开启伪静态的时候,一些空间不支持中伪静态问题当用户开启了伪静态,经常碰到含有中文用户名(使用username访问空间)的链接 出现“ 用户空间不存在”

出现这样的问题的原因:
如, 心梦 正常解析 为: %D0%C4%C3%CE 。 但是地址栏中看到的是:%25D0%25C4%25C3%25CE

%对再一次替换

这时选择rewrite兼容性,切换 。设置为“ 是” 或者“否”  查看是否解决
如果,还是出现,用户空间不存在

打开:source/function/function_core.php
找到:$_G['setting']['rewritecompatible'] && $username = rawurlencode($username)
更为:$_G['setting']['rewritecompatible'] && $username = $usernam

rawurlencode函数的作用:除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,香港马会2017开奖结果记录图表,这也就是%被二次处理的原因。将rawurlencode函数去掉即可!



DZX 对中文用户名的链接经常会出现“抱歉,您指定的用户空间不存在”,配置伪静态之后兼容性选择是.打开中文用户名个人空间是空白.选择否.打开个人空间就提示:抱歉,您指定的用户空间不存在..

用去掉function_core.php里面的rawurlencode函数的办法.打开任何页面.直接显示服务器500错误.我艹!!看来只能自己DIY了..

由于2个DZ.一个UTF8未出现这个问题.GBK的出现这个问题.怀疑是编码的问题..怕替换到其他地方出错.只替换了home_space.php解决问题...


解决方法如下:

打开\source\module\home\home_space.php文件,找到如下代码:
本帖隐藏的内容

if($_GET['username']) {
$member = C::t('common_member')->fetch_by_username($_GET['username']);
if(empty($member) && !($member = C::t('common_member_archive')->fetch_by_username($_GET['username']))) {
showmessage('space_does_not_exist');
}

替换成下面这段代码即可!!

if($_GET['username']) {
$gbk_username=iconv('UTF-8','GBK',urldecode($_GET['username']));
$member = C::t('common_member')->fetch_by_username($gbk_username);
if(empty($member) && !($member = C::t('common_member_archive')->fetch_by_username($gbk_username))) {
showmessage('space_does_not_exist');
}


然后在后台Rewrite 兼容性.选择否...问题解决..........