Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已解决] 解决DiscuzX3.1 抱歉,您指定的用户空间不存在 的问题

[复制链接]
w85378431 发表于 2014-4-12 19:22:14 | 显示全部楼层 |阅读模式
问题主要在论坛主页


中文的用户,当开启伪静态后访问其空间显示:"抱歉,您指定的用户空间不存在"

找了一些资料,开启"Rewrite 兼容性",问题依旧


接着找到一个说修改source/function/function_core.php,
方法是去掉function_core.php里面的rawurlencode函数的办法
问题还是没解决
  1. $_G['setting']['rewritecompatible'] && $username = rawurlencode($username) </B>
复制代码
替换为
  1. $_G['setting']['rewritecompatible'] && $username = $username
复制代码
最后还试了修改\source\module\home\home_space.php方法,可惜还是不行
  1. 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'); }
复制代码

修改为
  1. 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'); }
复制代码



我是真服了他了,没法,我的终极大招,
将"用户个人主页"的伪静态可用去掉,我不用了还不成吗

各位用dz的,或许你没我这么悲剧,上面的方法能够解决也不一定
我的暂时就这样了,找到解决方法的,好心的给我回复下,谢谢
忘了贴下我的论坛的地址了 常宁论坛   http://bbs.52cnw.net


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
 楼主| w85378431 发表于 2014-4-12 19:26:06 | 显示全部楼层
最近有很多朋友反应鼠标移动到列表页用户名上面会出现:“您指定的用户空间不存在” 点进去后不无法找到用户空间。导致有的会员关掉伪静态。关掉后收录会有所减少,对大型站来说应该算损失吧,正好本人知道怎么解决,本帖欢迎收藏,留着备用。

打开后:
正常解析 为: %D0%C4%C3%CE 。 但是地址栏中看到的是:%25D0%25C4%25C3%25CE

在用 ISAPI_Rewrite 1.3 版的时,只要对URL进行 UrlEncode 处理,就可以正常接收到中文。
但是如果换为 3.1版以后 GB2312 的接收页面就是乱码了。
换用了 ISAPI_Rewrite 3.x 发现编码后的字符会变成乱码,如果直接使用中文不编码,则会被格式化为GBK字符串。
在RewriteRule 规则中添加 NU 即可恢复正常。
关于ISAPI_Rewrite中文变乱码解决方法如下:
1、在传输URL时,将中文进行urlencode,这样是没错的。
2、如果是ISAPI_Rewrite 3.x 只需添加 NU 参数即可。
参考代码:
Discuz伪静态中个人空间规则修改:
RewriteRule ^space-(username|uid)-(.+).html$ home.php?mod=space&$1=$2&%1[QSA,NU,PT,L]
ShopEx伪静态中中文字符搜索问题,修改规则如下:
RewriteRule ^(.*)$ index.php?$1 [QSA,NU,PT,L]
红色即为添加或修改部分。

3.0的规则如下:%1 [Q  注意中间有空格

RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space&$1=$2&%1 [QSA,NU,PT,L]
修改好的.htaccess源文件提供下载:
注意要修改文件名字为: .htaccess


如果修改后问题还不能解决。
rewrite兼容性,切换 。设置为“ 是” 或者“否”  。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

酷米站长网 发表于 2014-4-14 21:35:41 | 显示全部楼层
确实是有这样的情况,一般出在IIS的伪静态上面,其实空间地址没必要伪静态,伪静态会给服务器加重负担的
回复

使用道具 举报

phoer 发表于 2014-4-18 01:20:13 | 显示全部楼层
我新升级成:Windows 2008 R2+IIS7.5+PHP+MySQL+Memcache+URL伪静态环境,但无法使用楼主的方法。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-5-24 12:21 , Processed in 0.064872 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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