设为首页收藏本站

Discuz! 官方站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 25136|回复: 21

关于版块绑定了二级域名后主题地址也变为二级域名的临时解决办法

[复制链接]
发表于 2011-5-7 01:49:10 | 显示全部楼层 |阅读模式
现象:如果您的网站将版块设置了二级域名,则在X2下访问这个二级域名而访问到对应版块的主题列表时,主题的链接地址也为二级域名的地址了。

正确的地址应该为网站在后台 → 域名设置 → 应用域名中设置的“默认”域名。

修改办法:(正式版解决办法)
找到 source/function/cache/cache_setting.php 文件的第 389 行附近
  1. $repflag = $apps['portal'] || $apps['forum'] || $apps['group'] || $apps['home'];
复制代码
修改为
  1. $repflag = $apps['portal'] || $apps['forum'] || $apps['group'] || $apps['home'] || $apps['default'];
复制代码
注:按照“临时方法”修改过的,请您还原代码。

===========================================================================

修改方法:(此为临时方法,稍后会有更加专业的修改办法)
找到 source/function/function_core.php 文件的第 1140 行附近
  1. function output_replace($content) {
  2.         global $_G;
  3.         if(defined('IN_MODCP') || defined('IN_ADMINCP')) return $content;
  4.         $temp = parse_url($_G['siteurl']);
  5.         if(!empty($_G['setting']['output']['str']['search'])) {
  6.                 if(empty($_G['setting']['domain']['app']['default'])) {
  7.                         $_G['setting']['output']['str']['replace'] = str_replace('{CURHOST}', $temp['host'], $_G['setting']['output']['str']['replace']);
  8.                 }
  9.                 $content = str_replace($_G['setting']['output']['str']['search'], $_G['setting']['output']['str']['replace'], $content);
  10.         }
  11.         if(!empty($_G['setting']['output']['preg']['search'])) {
  12.                 if(empty($_G['setting']['domain']['app']['default'])) {
  13.                         $_G['setting']['output']['preg']['search'] = str_replace('\{CURHOST\}', preg_quote($temp['host']), $_G['setting']['output']['preg']['search']);
  14.                         $_G['setting']['output']['preg']['replace'] = str_replace('{CURHOST}', $temp['host'], $_G['setting']['output']['preg']['replace']);
  15.                 }
  16.                 $content = preg_replace($_G['setting']['output']['preg']['search'], $_G['setting']['output']['preg']['replace'], $content);
  17.         }

  18.         return $content;
  19. }
复制代码
修改为如下代码

  1. function output_replace($content) {
  2.         global $_G;
  3.         if(defined('IN_MODCP') || defined('IN_ADMINCP')) return $content;
  4.         $temp = parse_url($_G['siteurl']);
  5.         /*
  6.         if(!empty($_G['setting']['output']['str']['search'])) {
  7.                 if(empty($_G['setting']['domain']['app']['default'])) {
  8.                         $_G['setting']['output']['str']['replace'] = str_replace('{CURHOST}', $temp['host'], $_G['setting']['output']['str']['replace']);
  9.                 }
  10.                 $content = str_replace($_G['setting']['output']['str']['search'], $_G['setting']['output']['str']['replace'], $content);
  11.         }
  12.         */
  13.         if(!empty($_G['setting']['output']['str']['search'])) {
  14.                 if(empty($_G['setting']['domain']['app']['default'])) {
  15.                         $_G['setting']['output']['str']['replace'] = str_replace('{CURHOST}', $temp['host'], $_G['setting']['output']['str']['replace']);
  16.                 } else {
  17.                         $_G['setting']['output']['str']['replace'] = str_replace('{CURHOST}', $_G['setting']['domain']['app']['default'], $_G['setting']['output']['str']['replace']);
  18.                         $_G['setting']['output']['str']['search'][] = $temp['host'];
  19.                         $_G['setting']['output']['str']['replace'][] = $_G['setting']['domain']['app']['default'];
  20.                 }
  21.         } elseif(!empty($_G['setting']['domain']['app']['default'])) {
  22.                 $_G['setting']['output']['str']['search'] = $temp['host'];
  23.                 $_G['setting']['output']['str']['replace'] = $_G['setting']['domain']['app']['default'];
  24.         }
  25.         if(!empty($_G['setting']['output']['str']['search'])) {
  26.                 $content = str_replace($_G['setting']['output']['str']['search'], $_G['setting']['output']['str']['replace'], $content);
  27.         }
  28.         if(!empty($_G['setting']['output']['preg']['search'])) {
  29.                 if(empty($_G['setting']['domain']['app']['default'])) {
  30.                         $_G['setting']['output']['preg']['search'] = str_replace('\{CURHOST\}', preg_quote($temp['host']), $_G['setting']['output']['preg']['search']);
  31.                         $_G['setting']['output']['preg']['replace'] = str_replace('{CURHOST}', $temp['host'], $_G['setting']['output']['preg']['replace']);
  32.                 }
  33.                 $content = preg_replace($_G['setting']['output']['preg']['search'], $_G['setting']['output']['preg']['replace'], $content);
  34.         }

  35.         return $content;
  36. }
复制代码



评分

1

查看全部评分

发表于 2011-5-7 02:58:42 | 显示全部楼层
{:soso_e113:}
回复

使用道具 举报

发表于 2011-5-7 03:23:50 | 显示全部楼层
http://union.yeswan.com/
回复

使用道具 举报

发表于 2011-5-7 08:00:26 | 显示全部楼层
回复

使用道具 举报

发表于 2011-5-7 10:32:11 | 显示全部楼层
我的网站是后台默认设置的
回复

使用道具 举报

发表于 2011-5-7 11:25:09 | 显示全部楼层
支持一下
回复

使用道具 举报

发表于 2011-5-7 17:40:22 | 显示全部楼层
这个的学习一下
回复

使用道具 举报

发表于 2011-5-7 18:27:29 | 显示全部楼层
回复

使用道具 举报

发表于 2011-5-7 23:08:27 | 显示全部楼层
我還巴不得它是二級域名的地址呢........
回复

使用道具 举报

发表于 2011-5-8 01:49:42 | 显示全部楼层
版主,此补丁有BUG

举例

门户www.xxx.com
论坛bbs.xxx.com
家园home.xxx.com

用了你的补丁后,很多会员反馈发帖会出现提交什么表单错误。

最直接表现,打好补丁,切换到bbs.xxx.com或home.xxx.com,创始人帐号,DIY,选高级的那个模式,不能保存,保存就提示错误。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|Comsenz ( 粤B2-20090059-165 )  star

GMT+8, 2018-8-17 01:46

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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