找回密码
 新建账号

Dscuz x2链接出现81,37001等非80端口号的解决方法

[复制链接]
php 发表于 2012/2/10 01:50 | 显示全部楼层 |阅读模式
Discuz! x2 网站的链接中出现 :81, :37001, :801 等非 :80 端口号导致帖子链接无法访问时,按以下步骤操作即可将链接中的端口号去除。

1.找到并打开 source/class/class_core.php,搜索以下代码
  1. $_G['siteport'] = empty($_SERVER['SERVER_PORT']) || $_SERVER['SERVER_PORT'] == '80' ? '' : ':'.$_SERVER['SERVER_PORT'];
复制代码
2.如下所示,在其前加上 //,将其注释掉。
  1. //$_G['siteport'] = empty($_SERVER['SERVER_PORT']) || $_SERVER['SERVER_PORT'] == '80' ? '' : ':'.$_SERVER['SERVER_PORT'];
复制代码
3.然后在这一段下面别起一段,粘贴以下代码:
  1. $_G['siteport'] = empty($_SERVER['SERVER_PORT']) || $_SERVER['SERVER_PORT'] == '80' ? '' : '';
复制代码
这一句代码的作用是当端口号不为80的时候,将端口号替换为空。
注:在源代码前加//后再复制一次修改,是为了保留源代码,以供以后有需要时恢复。
当然,你也可以省略掉第2步,直接将第1步的代码删除,或改为) 以下代码
  1. $_G['siteport'] = '';
复制代码
修改完成后将文件上传到服务器对应目录,然后更新缓存,在浏览器中刷新,之前形如 http://51-n.com:37001/ 的链接就变成了 http://www.51-n.com/,问题成功解决。

另外
补充一点,当服务器的端口不为80时,Ucenter的应用可能出现通信失败的现象,你可访问管理后台,点击Ucenter--应用管理,再点击相应的应用名称进入设置页面,将应用的主URL设置为带端口的链接,如 http://51-n.com:37001,保存以后应用通信即可恢复正常。
追梦人 发表于 2012/2/10 19:59 | 显示全部楼层
技术贴,但是对我没有用,

手机版|轻松E站

GMT+8, 2024/11/21 19:56

快速回复 返回顶部 返回列表