如何在织梦dede开启多站点后解决图片上传路径错误的问题?

在织梦后台,修改数据目录和文件目录为绝对路径,可以临时解决多站点上传图片路径出错的问题。

在织梦DedeCMS中,开启多站点功能后,上传图片路径出错是一个常见的问题,这主要是由于默认的图片上传使用的是相对路径,而启用多站点后,这些路径就不再正确,以下将详细介绍一些临时解决办法:

如何在织梦dede开启多站点后解决图片上传路径错误的问题?

修改上传脚本以返回绝对路径

1、修改select_images_post.php文件

打开/include/dialog/select_images_post.php文件。

找到如下代码段:


     $inquery = "INSERT INTOidea_uploads(arcid,title,url,mediatype,width,height,playtime,filesize,uptime,mid) VALUES ('0','$filename','".$activepath."/".$filename."','1','$imgwidthValue','$imgheightValue','0','{$imgsize}','{$nowtme}','".$cuserLogin>getUserID()."'); ";

将其修改为:


     if($cfg_multi_site=='Y') {
         if(empty($cfg_basehost)) $cfg_basehost = 'http://'.$_SERVER["HTTP_HOST"];
         $activepath2 = $cfg_basehost.$activepath;
     } else {
         $activepath2 = $activepath;
     }
     $inquery = "INSERT INTOidea_uploads(arcid,title,url,mediatype,width,height,playtime,filesize,uptime,mid) VALUES ('0','$filename','".$activepath2."/".$filename."','1','$imgwidthValue','$imgheightValue','0','{$imgsize}','{$nowtme}','".$cuserLogin>getUserID()."'); ";

这样修改后,无论是CKEditor还是其他编辑器上传图片时,都会返回正确的绝对路径。

2、修改select_images.php文件

打开/include/dialog/select_images.php文件。

找到如下代码段:

     $activeurl = '..'.$activepath;

将其修改为:

     if($cfg_multi_site=='Y') {
         if(empty($cfg_basehost)) $cfg_basehost = 'http://'.$_SERVER["HTTP_HOST"];
         $reurl = $cfg_basehost."$activeurl/$file";
     } else {
         $reurl = "$activeurl/$file";
     }

这样修改后,图片浏览器上传图片时也会返回正确的绝对路径。

如何在织梦dede开启多站点后解决图片上传路径错误的问题?

3、修改media_add.php文件

打开/dede/media_add.php文件。

在文件最后添加如下代码:

     if($cfg_multi_site=='Y') {
         if(empty($cfg_basehost)) $cfg_basehost = 'http://'.$_SERVER["HTTP_HOST"];
         $filename = $cfg_basehost.$filename;
     }

这样修改后,媒体管理中的图片路径也会变为绝对路径。

批量替换已生成文章的图片路径

1、进入后台进行批量替换

进入织梦后台——核心——批量维护——数据库内容替换。

选择表dede_addonarticle,字段body。

被替换内容:src="/uploads/。

替换为:src="http://你的域名/uploads/。

点击“开始替换”,完成后重新生成所有内容页面。

如何在织梦dede开启多站点后解决图片上传路径错误的问题?

2、修改extend.func.php文件

打开include目录下的extend.func.php文件。

在文件末尾添加如下函数:

     function replaceurl($newurl) {
         $newurl = str_replace('src="/uploads/allimg/', 'src="http://你的域名/uploads/allimg/', $newurl);
         return $newurl;
     }

将文章模板中调用文章内容的标签{dede:field.body/}替换成{dede:field.body function=’replaceurl(@me)’/}。

FAQs(常见问题解答)

1、为什么开启多站点后图片路径会出错?

开启多站点后,默认的图片上传使用的是相对路径,而多站点功能会导致这些相对路径不再正确,因此需要修改为绝对路径来解决问题。

2、如何确保新上传的图片使用绝对路径?

确保新上传的图片使用绝对路径的方法是在文章模板中调用文章内容的标签{dede:field.body/}替换成{dede:field.body function=’replaceurl(@me)’/},并在extend.func.php文件中添加相应的替换函数。

通过上述方法可以有效地解决织梦DedeCMS开启多站点后图片路径出错的问题。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1233588.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-10-23 03:26
下一篇 2024-10-23 03:28

相关推荐

  • PS打不开报错丢失D3DCOMPILER_47.dll,该如何解决?

    Adobe Photoshop一、简介Adobe Photoshop,简称“PS”,是由美国Adobe公司开发的一款图像处理软件,自1988年首次发布以来,Photoshop逐渐成为全球最流行的图像编辑工具之一,广泛应用于摄影、图形设计、数字艺术、网页设计和视频制作等领域,它以其强大的功能和灵活的操作,深受专业……

    2024-11-23
    018
  • B站API出现错误,该如何解决?

    B站API出现错误,可能是请求参数不正确、网络问题或服务器维护等原因。建议检查参数、网络连接并稍后重试。

    2024-11-22
    07
  • B站API注册过程中出现错误,该如何解决?

    B站API错误注册可能由于网络问题、参数错误或账号限制等原因导致。请检查网络连接,确保参数正确,并确认账号状态。

    2024-11-20
    012
  • 负载均衡错误应该如何解决?

    负载均衡错误如何解决背景与简介负载均衡在现代网络架构中扮演着关键角色,通过将流量分配到多个服务器上,确保了应用的高可用性和可靠性,在实际使用过程中,负载均衡器也会遇到各种问题,导致服务中断或性能下降,了解和解决这些常见的负载均衡错误对于维护系统的正常运行至关重要,常见负载均衡错误及解决方法 HTTP 400:错……

    2024-11-19
    011

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入