解决dedecms图片附件二级域名无法显示

2024年10月28日 建站教程

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”。

将这个:

include/inc_arclist_view.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";}

改成下面:

include/inc_arclist_view.php

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个文件

将下面的代码:

include/inc_arclist_view.php

$activeurl = '..'.$activepath;

改成:

include/inc_arclist_view.php

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

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

本文链接:http://so.lmcjl.com/news/16388/

展开阅读全文
相关内容