设为首页收藏本站客户端下载

老榕树社区

 找回密码
 立即注册
社区推荐
 
任务统计:
发布数/完成数/奖励数:
0/0/0
承接数/奖励数/收入数:
0/0/0

0

主题

0

帖子

-1854

积分

限制会员

积分
-1854
扫一扫,手机访问本帖
跳转到指定楼层
楼主
发表于 2017-3-13 11:04:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
【如内容违法或虚假,请联系上述邮件删除】今天遇到了这个问题,顺便处置了!纯属搬运,希望能帮到同样呈现此问题的朋友!

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函数的作用:除了 -_. 之外的一切非字母数字字符都将被交流成百分号(%)后跟两位十六进制数,这也就是%被二次处置的缘由。将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 兼容性.选择否...问题处置..........(关注老榕树网络旗下“网络思维”微信公众号:wlsw360 (每天都有好文章)

 

                                                   本帖如有虚假或违法,请联系邮箱删除,本社区删贴不收任何费用,欢迎举报。老榕树社区属老榕树网络旗下网站,旨在为老榕树用户提供创业咨询、网站建设技术交流、源码下载、提供各种实用工具。如有部分帖子涉及违法、虚假,请你第一时间与社区联系,把需要删除的社区链接提供给我们,我们核实之后,第一时间删除。邮箱:125175998@qq.com

回复

使用道具 举报

任务统计:
发布数/完成数/奖励数:
0/0/0
承接数/奖励数/收入数:
0/0/0

0

主题

0

帖子

-1725

积分

限制会员

积分
-1725
沙发
发表于 2017-3-13 11:04:38 | 只看该作者
翻开:source/function/function_core.php
找到:$_G['setting']['rewritecompatible'] && $username = rawurlencode($username)
更为:$_G['setting']['rewritecompatible'] && $username = $usernam复制代码
开了伪静态后翻开中文用户名空间我以前也遇见过,不过上面这个纯属二货瞎糊弄人,基本就不行的!
我最后圆满的处置办法是:在web.config中添加<security>
   <requestFiltering allowDoubleEscaping="true" />
</security>复制代码
然后论坛后台设置-seo-勾上中文兼容
OK!
回复 支持 反对

使用道具 举报

任务统计:
发布数/完成数/奖励数:
0/0/0
承接数/奖励数/收入数:
0/0/0

0

主题

0

帖子

-1935

积分

限制会员

积分
-1935
板凳
发表于 2017-3-13 11:04:38 | 只看该作者
加在<system.webServer> </system.webServer>这句中间,不用去修正任何论坛文件
回复 支持 反对

使用道具 举报

任务统计:
发布数/完成数/奖励数:
0/0/0
承接数/奖励数/收入数:
0/0/0

0

主题

0

帖子

-1688

积分

限制会员

积分
-1688
地板
发表于 2017-3-13 11:04:38 | 只看该作者
回复 支持 反对

使用道具 举报

任务统计:
发布数/完成数/奖励数:
0/0/0
承接数/奖励数/收入数:
0/0/0

0

主题

0

帖子

-1956

积分

限制会员

积分
-1956
5
发表于 2017-3-13 11:04:38 | 只看该作者
jiangchuankyo 发表于 2016-12-7 18:57
开了伪静态后翻开中文用户名空间我以前也遇见过,不过上面这个纯属二货瞎糊弄人,基本就不行的!
我最后完 ...
谢谢你,十分感激,我试试
回复 支持 反对

使用道具 举报

任务统计:
发布数/完成数/奖励数:
0/0/0
承接数/奖励数/收入数:
0/0/0

0

主题

0

帖子

-1734

积分

限制会员

积分
-1734
6
发表于 2017-3-13 11:04:38 | 只看该作者
主题贴的办法处置不了,我试试“jiangchuankyo”的
回复 支持 反对

使用道具 举报

任务统计:
发布数/完成数/奖励数:
0/0/0
承接数/奖励数/收入数:
0/0/0

0

主题

0

帖子

-1700

积分

限制会员

积分
-1700
7
发表于 2017-3-13 11:04:38 | 只看该作者
jiangchuankyo 发表于 2016-12-7 18:59
加在 这句中间,不用去修正任何论坛文件
我找不到这个文件,我的VPS主机,2003的系统,这个文件怎样找到,网上好多办法都找不到
回复 支持 反对

使用道具 举报

任务统计:
发布数/完成数/奖励数:
0/0/0
承接数/奖励数/收入数:
0/0/0

0

主题

0

帖子

-1711

积分

限制会员

积分
-1711
8
发表于 2017-3-13 11:04:38 | 只看该作者
wuyin731 发表于 2016-12-23 11:40
我找不到这个文件,我的VPS主机,2003的系统,这个文件怎样找到,网上好多办法都找不到
那个文件是IIS7.0以上版本的网站配置文件,自动生成在你网站根目录的,IIS6.0没试过
回复 支持 反对

使用道具 举报

任务统计:
发布数/完成数/奖励数:
0/0/0
承接数/奖励数/收入数:
0/0/0

0

主题

0

帖子

-1644

积分

限制会员

积分
-1644
9
发表于 2017-3-13 11:04:38 | 只看该作者
回复 支持 反对

使用道具 举报

任务统计:
发布数/完成数/奖励数:
0/0/0
承接数/奖励数/收入数:
0/0/0

0

主题

0

帖子

-1438

积分

限制会员

积分
-1438
10
发表于 2017-3-13 11:04:38 | 只看该作者
本帖最后由 格东站长网插件 于 2016-12-28 18:52 编辑
jiangchuankyo 发表于 2016-12-7 18:57
开了伪静态后翻开中文用户名空间我以前也遇见过,不过上面这个纯属二货瞎糊弄人,基本就不行的!
我最后完 ...
你这句肯定不行啦
$_G['setting']['rewritecompatible'] && $username = rawurlencode($username)这句,意义是让rawurlencode函数作废,那其实就只剩下
$_G['setting']['rewritecompatible'],也就是完整不对会员名做检验了!而且上面援用的代码还写漏了字,肯定报错。
之后那个中止编码判别并统一转为UTF8的思绪是对的,应该说默许代码就有漏洞,应该先做编码判别的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关于我们| 企业文化| 备案编号:滇ICP备13002355号
  • Copyright 2013 最新最精彩-社区论坛 版权所有 All Rights Reserved
快速回复 返回顶部 返回列表