DedeCMS 是一个功能强大的内容管理系统(CMS),在配置和使用过程中,可能会遇到一些与附件目录绑定二级域名相关的问题。本文将详细介绍如何解决这些问题,确保图片上传和浏览服务器功能正常运行。
### 问题背景 在 DedeCMS 的系统配置参数中,“附件目录是否绑定为指定的二级域名”以及“附件目录的二级域名”两个选项表明官方已经注意到二级域名下可能出现的各种子问题。为了确保这些功能正常运行,我们需要对代码进行一些修改。
### 解决方案 #### 第一步:修改 `dede_image.php` 文件 打开 `include/FCKeditor/editor/dialog/` 目录下的 `dede_image.php` 文件,找到以下代码:

if($cfg_multi_site=='N')
{
    $imgHtml.="\\\\\\"$altname\\\\\\"
\\\\r\\\\n"; } else { if(empty($cfg_basehost)) $cfg_basehost='http://' . $_SERVER["HTTP_HOST"]; $imgHtml.="\\\\\\"$altname\\\\\\"
\\\\r\\\\n"; }
将其替换为以下代码:

if($GLOBALS['cfg_addon_domainbind']){$addon_domain=$GLOBALS['cfg_addon_domain'];}
if($cfg_multi_site=='N')
{
    $imgHtml.="\\\\\\"$altname\\\\\\"
\\\\r\\\\n"; } else { if(empty($cfg_basehost)) $cfg_basehost='http://' . $_SERVER["HTTP_HOST"]; $imgHtml.="\\\\\\"$altname\\\\\\"
\\\\r\\\\n"; }
这样修改后,上传的图片路径会正确绑定到指定的二级域名。
#### 第二步:修改浏览服务器功能 接下来,我们需要处理“浏览服务器”按钮的功能。打开 `include/dialog/` 目录下的以下文件: - `select_images.php` - `select_media.php` - `select_soft.php` - `select_templets.php` 找到以下代码:

$activeurl = '..' . $activepath;
    
将其替换为以下代码:

if($GLOBALS['cfg_addon_domainbind']){$addon_domain=$GLOBALS['cfg_addon_domain'];}
$activeurl = '..' . $addon_domain . $activepath;
    
通过以上修改,可以确保“浏览服务器”功能正常显示绑定二级域名后的资源路径。
### 总结 完成上述修改后,DedeCMS 的图片上传和浏览服务器功能将能够正确支持二级域名绑定。这种更改是在保证系统完整性的前提下进行的,仅影响内容中的图片路径。当然,前提是您需要在系统配置中开启“附件目录是否绑定为指定的二级域名”,并正确填写二级域名地址。 如果您按照上述步骤操作,应该可以顺利解决问题。希望这篇文章对您有所帮助!