只有WIN主机才有此问题,比如把论坛装到子目录bbs下,然后把bbs.xxx.com绑定到子目录,安装完成后访问路径却出现了子目录名像:bbs.xxx.com/bbs/xxxxx 此方法在discuz x1.5,X2测试可行。
解决方法:(以子目录名为bbs为例)
找到论坛源文件\source\class\class_core.php
找到
$_G['siteurl'] = htmlspecialchars('http://'.$_SERVER['HTTP_HOST'].preg_replace("/\/+(api)?\/*$/i", '', substr($_G['PHP_SELF'], 0, strrpos($_G['PHP_SELF'], '/'))).'/');
$_G['siteroot'] = substr($_G['PHP_SELF'], 0, -strlen($_G['basefilename']));
替换成
$_G['siteurl'] = str_replace("/bbs/","",htmlspecialchars('http://'.$_SERVER['HTTP_HOST'].preg_replace("/\/+(api)?\/*$/i", '', substr($_G['PHP_SELF'], 0, strrpos($_G['PHP_SELF'], '/'))).'/'));
$_G['siteroot'] = str_replace("/bbs/","",substr($_G['PHP_SELF'], 0, -strlen($_G['basefilename'])));
如果不行再把后面的/去掉
$_G['siteurl'] = str_replace("/bbs","",htmlspecialchars('http://'.$_SERVER['HTTP_HOST'].preg_replace("/\/+(api)?\/*$/i", '', substr($_G['PHP_SELF'], 0, strrpos($_G['PHP_SELF'], '/'))).'/'));
$_G['siteroot'] = str_replace("/bbs","",substr($_G['PHP_SELF'], 0, -strlen($_G['basefilename'])));
转载请注明:轮回阁 » windows主机子目录安装Discuz! X1.5、X2、X3 在URL网址出现子目录名的解决方法
特别说明:所有资源均无解压密码且可直接下载,若有会特别注明,部分回复可见内容仅为提供更多的下载点。