解决dedecms图片在附件设置二级域名后无法显示的方法

下面开始讲一下二级域名下文章/商品内容中的图片无法显示的问题,在这里我要指出的是我看了一下网站的好多解决方法后归纳得出:
include/inc_arclist_view.php 594行
include/inc/inc_fun_spgetarclist.php 195行
$row['litpic'] = $row['siteurl'].$row['litpic'];替换这一行为
$row['litpic'] = $row['litpic'];

这个修改方法我就是在网上看到的。当然不能排除这个方法有效,但是我没有用,为什么呢?这个文件改的是include里面的核心文件,所以我放弃,因为我要考虑到dedecms系统的完整性,这个很明显不能解决我的问题。

1、我们可以看到 DedeCms系统配置参数->其它选项中有两个配置选项:[附件目录是否绑定为指定的二级域名 | 附件目录的二级域名]很明显示官方早就注意到了在二级域名下的种种问题。
2、打开include/FCKeditor/editor/dialog/目录下的文件:“dede_image.php”。

将这个:
if($cfg_multi_site=='N')
{
$imgHtml .= "<img src=\"$imgsrcValue\" width=\"$imgwidthValue\" border=\"0\" height=\"$imgheightValue\" alt=\"$altname\" style=\"cursor:pointer\" onclick=\"window.open('$urlValue')\" /><br />\r\n";
}
else
{
if(empty($cfg_basehost)) $cfg_basehost = 'http://'.$_SERVER["HTTP_HOST"];
$imgHtml .= "<img src=\"$imgsrcValue\" width=\"$imgwidthValue\" border=\"0\" height=\"$imgheightValue\" alt=\"$altname\" style=\"cursor:pointer\" onclick=\"window.open('$urlValue')\" /><br />\r\n";
}

改成下面:
if($GLOBALS['cfg_addon_domainbind']){$addon_domain = $GLOBALS['cfg_addon_domain'];}
if($cfg_multi_site=='N')
{
$imgHtml .= "<img src=\"{$addon_domain}{$imgsrcValue}\" width=\"$imgwidthValue\" border=\"0\" height=\"$imgheightValue\" alt=\"$altname\" style=\"cursor:pointer\" onclick=\"window.open('{$addon_domain}{$urlValue}')\" /><br />\r\n";
}
else
{
if(empty($cfg_basehost)) $cfg_basehost = 'http://'.$_SERVER["HTTP_HOST"];
$imgHtml .= "<img src=\"{$addon_domain}{$imgsrcValue}\" width=\"$imgwidthValue\" border=\"0\" height=\"$imgheightValue\" alt=\"$altname\" style=\"cursor:pointer\" onclick=\"window.open('{$addon_domain}{$urlValue}')\" /><br />\r\n";
}

现在上传的图片正常 了,接下来我们要考虑的是下面不是有一个“浏览服务器”的按纽吗,[图片/随便/flash/多媒体]都有这个功能。

先打开include/dialog/目录下的 select_images.php、select_media.php、select_soft.php、select_templets.php 4个文件

将下面的代码:
$activeurl = '..'.$activepath;

改成:
if($GLOBALS['cfg_addon_domainbind']){$addon_domain = $GLOBALS['cfg_addon_domain'];}
$activeurl = '..'.$addon_domain.$activepath;

至此完成所以的更改,这样更改是在保证dedecms系统的完整性上改的,只有内容中的图片才会变。
当然前提是你开启:附件目录是否绑定为指定的二级域名 并且指定二级域名地址。如果不开启就会和你原来的是一样的。