DEDECMS开启附件目录的二级域名绑定之后,许多同学都遇到图片插入不是二级域名,导致图片无法显示的问题,在这里我要指出的是我看了一下网站的好多解决方法后归纳得出: include
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系统的完整性上改的,只有内容中的图片才会变。
当然前提是你开启:附件目录是否绑定为指定的二级域名 并且指定二级域名地址。如果不开启就会和你原来的是一样的。