这个问题已经解决
参考如下修改
sourceclassclass_core.php 第164.165行
$_G[‘siteurl’] 和 $_G[‘siteroot’] 这俩变量决定着整站的URL链接,只要在这里去除掉子目录字符串即可。
格式如下:
$_G[‘siteurl’] = str_replace(“/子目录名称需自行替换/”,””,htmlspecialchars(‘http: //’.$_SERVER[‘HTTP_HOST’].preg_replace(“//+(api)?/*$/i”, ”, substr($_G[‘PHP_SELF’], 0, strrpos($_G[‘PHP_SELF’], ‘/’))).’/’));
$_G[‘siteroot’] = str_replace(“/子目录名称需自行替换”,””,substr($_G[‘PHP_SELF’], 0, -strlen($_G[‘basefilename’])));
直接替换上面的中文为你的子目录
——————————————————————————–
这个问题我也碰到了 现在解决了 方法是这样的
找到 sourceclassclass_core.php 这个文件 X 2版本是在176行
X2中原来代码是这样的 $_G[‘siteurl’] = htmlspecialchars(‘http://’.$_SERVER[‘HTTP_HOST’].$sitepath.’/’);
现在改成这句 $_G[‘siteurl’] = str_replace(“/中国人”,””,htmlspecialchars(‘http: //’.$_SERVER[‘HTTP_HOST’].preg_replace(“//+(api)?/*$/i”, ”, substr($_G[‘PHP_SELF’], 0, strrpos($_G[‘PHP_SELF’], ‘/’))).’/’));
上面这句中(中国人)部分 改成你子目录的名字就行了 改好后 上传 覆盖 OK
如果你是X 1.5 版本 这句是在164行 方法也是一样 把这句覆盖原来的 (中国人)几个字改成你的子目录名字
—————————————————–
mathcai补充:
上面提到的两个地方我都改了才成功解决(discuz x2版本)
还有人说:if(defined(‘SUB_DIR’)) 改成if(1),我没改这里
http://bbs.idcspy.org/thread-158180-1-1.html
————————————————–
X2.5是安装在子目录下的:www.abc.com/bbs
经过多次摸索,根据论坛里网友贴的方法以及官方说明(好像只有X1.5的还没有X2的)
现在二级域名绑定正常:bbs.abc.com(论坛),news.abc.com(门户)
但现在通过论坛首页进入管理中心却进不去了,论坛首页进入管理中心的链接是bbs.abc.com/bbs/admin.php,而实际上应该是bbs.abc.com/admin.php
请问如何修改呢?修改两个地方:
1、/bbs/source/class/discuz/目录下discuz_application.php文件。该文件的目的是该网址
176行改成:$_G[‘siteurl’] = str_replace(“子目录名/”,””,htmlspecialchars(‘http://’.$_SERVER[‘HTTP_HOST’].$sitepath.’/’));
179行后加一行:$_G[‘siteroot’] = str_replace(“子目录名/”,””,$_G[‘siteport’]);
2、/bbs/uc_server/目录下avatar.php文件,该文件的目的是显示用户头像
13行改成:define(‘UC_API’, strtolower(($_SERVER[‘HTTPS’] == ‘on’ ? ‘https’ : ‘http’).’://’.$_SERVER[‘HTTP_HOST’].’/uc_server/’));
http://www.discuz.net/forum.php?mod=viewthread&tid=2702509
微信赞赏支付宝赞赏