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/