您的位置:»论坛 交流区 网站教程 查看内容

完美解决DiscuzX3.2 抱歉,您指定的用户空间不存在的问题

isgwz 发表于 2017-7-21 17:05:57 | 栏目:网站教程 |分类:[discuz]
最近有很多朋友反应鼠标移动到列表页中文用户名上面会出现:“您指定的用户空间不存在” 点进去后不无法找到用户空间。导致有的会员关掉伪静态。关掉后收录会有所减少,对大型站来说应该算损失吧,正好本人知道怎么解决,本帖欢迎收藏,留着备用。

打开后:
正常解析 为: %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]

本站经过上面修改伪静态规则完美解决中文名“抱歉,您指定的用户空间不存在”的问题!

网站源码分享 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与网站源码分享享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和网站源码分享的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、网站源码分享管理员和版主有权不事先通知发贴者而删除本文

回复

使用道具 举报

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

本版积分规则

发布主题 快速回复 返回列表 客服中心 搜索
快速回复 返回顶部 返回列表