【如内容违法或虚假,请联系上述邮件删除】今天遇到了这个问题,顺便处置了!纯属搬运,希望能帮到同样呈现此问题的朋友!
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 |