dedecms手机图片附件无法显示-更换图片为绝对地址的解决方法


文章介绍

dedecms很强大,广大的站长很喜欢,有一个很大的好处就是网上能够找到各种技术文档,只要是dedecms的问题!基本上都能够通过搜索解决。自学的话,dede确实不错,至于安全问题,设置好了就行了,同时推荐加速乐、360等前端防护工具,能有效的提升安全。

今天在做一个手机版的,需要绑定二级域名,折腾半天后,能访问了,但是遇到一个问题,就是所有的图片都无法访问!查看源代码,原来dedecms的图片地址默认的是相对链接地址!这个即使在后台启用了多站点绝对地址也没有效果,必须修改其他的内容。

网上找了一下,发现遇到这个问题的朋友很多,百度搜索出来的大多是采集站的文章……百度技术让人心寒啊。没有一篇文章说的很完整的。

要完美的解决这个问题,有两个问题需要修改。一是今后上传的图片都自动变成绝对地址,这样所有的二级域名包括绑定的二级目录都可以自动访问了;二是以前上传的图片修改为绝对地址,否则以前的图片还是不能访问的。

完美解决dedecms绑定二级域名(包括二级目录绑定域名)图片附件无法显示-更换所有图片和附件地址为绝对地址的方法:

特别提醒:对程序和数据库做任何修改前请都先备份,出问题了好还原!一定要备份哦!我自己文件备份很简单,修改前压缩一个。

1、修改图片上传路径为绝对地址:(从修改起开始生效,以前的图片无效)

找到 \include\dialog\select_images_post.php 第108行(行数不一定准确,有的软件打开有空行)

$fileurl = $activepath.’/’.$filename;

换成:

$fileurl = $cfg_cmsurl.$activepath.’/’.$filename;

修改后,今后所有上传的图片都是绝对地址保存了,你可以自己测试一下。但是以前的文章的图片还是相对地址的。

2、数据库批量替换以前的图片地址为绝对地址:

特别提醒:新手对数据库操作要小心,替换前一定要记得备份然后再操作,否则出问题了后悔莫及啊!dedecms可以在后台备份数据。

操作方法:织梦后台——核心——批量维护——数据库内容替换:

然后选择表dede_addonarticle(一般就是第一个表) 字段 body(存放文章正文的字段)。

被替换内容: src=”/uploads/

替换为:src=”http://www.genban.org/uploads/(换成你自己的域名)

请仔细检查上量替换的内容,防止有误,操作最好截图,出错了知道如何替换回去。

然后替换即可!替换后假如是静态内容,可以生成一下所有文章,动态内容无需生成。

数据库替换后,建议检查以前文章的图片地址是否变成了绝对地址,以及地址是否出错!假如有问题,请还原数据库。

好了,完成这一步,以后你所有的二级域名都可以自动显示主域名的所有图片了!