discuz论坛中文用户出现“抱歉,您指定的用户空间不存在”解决方法
discuz论坛在正常运营下,大部分站长们都会选择开启全站伪静态,因为这样可以让整个论坛更好的被蜘蛛爬取,然后做上排名,得到流量盈利也就自然而然的来了。无忧主机的香港独立IP空间也同样有着优化蜘蛛排名的功能,让你的网站更好的被收录。很多站长朋友们开启了伪静态以后就出现了这样的问题,点击主页的个人中心就提示:“抱歉,您指定的用户空间不存在”,那么这个问题有很多解决方法,在各大论坛上也有很多相对应的解决方法,无忧小编今天有一个最方便,最实际的方法,就是在Discuz后台,全局,SEO设置,URL伪静态设置里面,把,用户个人主页的伪静态的勾勾去掉,不要让这个实现伪静态,那么这个问题就得到解决了,记得dz后台清理缓存哦。
rewrite兼容性设置,是用来解决开启伪静态的时候,一些空间不支持中伪静态问题当用户开启了伪静态,经常碰到含有中文用户名(使用username访问空间)的链接 出现“ 抱歉,用户空间不存在”。
出现这样的问题的原因:
如名称:一枚小杰克
正常解析为: %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函数去掉即可!
可以使用下面的办法:
找到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']);这样子,点击后面的名字就以动态地址形式展示了!
以上就是站长在搭建dz时发生的问题,想必很多使用Discuz的小伙伴都有有这个问题,可以在评论区谈谈你是怎么解决的!
本文标签: discuz 教程 1024乐园
一枚小杰克 https://www.ikunwl.com/
虫洞联盟(www.ikunwl.com)是一款国内优秀的中文互联网联盟平台及年轻人都喜欢玩的互联网社区,提供虫洞传送、万站同盟、流量互传、娱乐活动、休闲游戏、IT互联网教程分享等服务 | ikun之家
上一篇:服务器安装SG15扩展全版本(宝塔+任意服务器通用)图文教程
下一篇:没有下一篇文章啦!
本文暂无评论 - 欢迎您
