网站首页 >> 相关教程 >> 正文

discuz论坛中文用户出现“抱歉,您指定的用户空间不存在”解决方法

作者:一枚小杰克   时间:2023-10-31 16:48:31   浏览:370  

Discuz论坛在正常运营下,大部分站长们都会选择开启全站伪静态,因为这样可以让整个论坛更好的被蜘蛛爬取,然后做上排名,得到流量盈利也就自然而然的来了。无忧主机的香港独立IP空间也同样有着优化蜘蛛排名的功能,让你的网站更好的被收录。很多站长朋友们开启了伪静态以后就出现了这样的问题,点击主页的个人中心就提示:“抱歉,您指定的用户空间不存在”,那么这个问题有很多解决方法,在各大论坛上也有很多相对应的解决方法,无忧小编今天有一个最方便,最实际的方法,就是在Discuz后台,全局,SEO设置,URL伪静态设置里面,把,用户个人主页的伪静态的勾勾去掉,不要让这个实现伪静态,那么这个问题就得到解决了,记得dz后台清理缓存哦。

discuz论坛中文用户出现“抱歉,您指定的用户空间不存在”解决方法

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


出现这样的问题的原因:

如1024乐园的管理员:一枚小杰克

正常解析为: %E4%B8%80%E6%9E%9A%E5%B0%8F%E6%9D%B0%E5%85%8B

但是地址栏中看到的是:%25E4%25B8%2580%25E6%259E%259A%25E5%25B0%258F%25E6%259D%25B0%25E5%2585%258B

%符号还会再一次替换解码,导致的识别不到用户!

这时选择rewrite兼容性,切换设置为“ 是” 或者“否”  查看是否解决,切换完了需要清理缓存哦,如果,还是出现,用户空间不存在的话,请查看一下设置!

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

rawurlencode函数的作用:除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,这也就是%被二次处理的原因。

将rawurlencode函数去掉即可!

但有些用户说去掉rawurlencode函数的该法是不安全的。

可以使用下面的办法:

找到source/module/home/home_space.php找到

if(getgpc('username')) {
   $member = C::t('common_member')->fetch_by_username($_GET['username']);

修改为:

if($_GET['username']) {
    $_GET['username']=urldecode($_GET['username']);
    $member = C::t('common_member')->fetch_by_username($_GET['username']);

这样子,点击后面的名字就以动态地址形式展示了!


以上就是在1024乐园中发生的问题,想必很多使用Discuz的小伙伴都有有这个问题,可以在评论区谈谈你是怎么解决的!


本文标签: discuz  教程  1024乐园 
一枚小杰克

一枚小杰克 https://lkba.cn

博主专注于Z-BLOG网站搭建、网站优化以及电脑故障排查、重装、优化、维修系统等,QQ/WX:2126245521(请注明来意)

相关文章

上一篇:

下一篇:

本文暂无评论 - 欢迎您

请填写验证码

Processed : 0.048 SQL : 14