96SEO 2025-10-24 06:04 1
你是不是也遇到过这种情况:明明在织梦CMS后台设置了二级域名手机站, 访问时文章内容、样式都正常,偏偏图片不显示,要么显示空白,要么直接裂成一个个小图标?别慌,这几乎是使用织梦CMS开启二级域名时的通病,今天我们就来彻底解决它!
要解决问题,得先搞清楚原因。织梦CMS默认情况下 文章中的图片路径是相对路径比如:src="/uploads/allimg/2023/10/01/xxx.jpg"。这种路径在主域名下访问时 浏览器会自动补全为https://www.xxx.com/uploads/allimg/2023/10/01/xxx.jpg完全没问题。

但当你给某个栏目绑定二级域名后 问题就来了:浏览器在m.xxx.com下解析这个相对路径时会自动补全为https://m.xxx.com/uploads/allimg/2023/10/01/xxx.jpg而你的图片实际存储在主域名的uploads目录下m.xxx.com根本访问不到这个路径,图片自然就不显示了!
简单说 就是路径解析错误——二级域名和主域名的“根目录”不同,导致相对路径指向了错误的位置。
既然问题出在路径上,解决思路就很明确了:让织梦在生成文章时自动使用绝对路径比如:src="https://www.xxx.com/uploads/allimg/2023/10/01/xxx.jpg"。这样无论在主域名还是二级域名下浏览器都能正确找到图片。
具体操作分两步:处理已生成的文章和设置新生成的文章。下面我们一步步来。
对于已经发布的文章,图片路径还是相对路径,我们需要手动批量替换成绝对路径。有两种方法,推荐用数据库替换法。
第一步:进入织梦后台, 找到“系统-系统设置-SQL命令工具”
在SQL命令工具中,输入以下代码:
UPDATE dede_addonarticle SET body = REPLACE;
代码说明:
dede_addonarticle织梦存储文章正文的表名;body文章正文字段名;src="/uploads/需要替换的相对路径;src="https://你的域名/uploads/替换后的绝对路径。第二步:施行SQL命令, 检查替换后来啊
点击“查询”施行命令,施行后可以去手机站的文章页刷新看看,图片是不是能正常显示了?如果不行,可能是路径写错了检查一下文章源代码中图片的实际路径,调整SQL命令中的替换内容后重试。
注意:如果网站使用了多个图片目录, 需要分多次施行SQL命令,分别替换每个目录的路径。
旧文章解决了以后发布的文章怎么办?总不能每次都手动替换吧?通过织梦后台的“核心设置”和模板修改,可以让新文章默认使用绝对路径。
第一步:开启“支持多站点”和“启用绝对网址”
进入织梦后台“系统-系统设置-核心设置”找到以下两个选项:
设置完成后保存, 这样织梦在生成新文章时图片路径就会自动变成绝对路径了。
第二步:修改文章内容页模板
有时候即使开启了“启用绝对网址”, 文章内容页的图片路径可能还是相对路径,这是主要原因是模板中的标签没有正确调用绝对路径。需要修改文章内容页模板。
找到文章内容调用标签 {dede:field.body/} 在它前面添加一个自定义函数,用来处理图片路径:
{dede:field.body function='replaceurl'/}
然后在模板文件的开头添加以下PHP函数:
function replaceurl{
$newurl = str_replace;
$newurl = str_replace;
$newurl = str_replace;
return $newurl;
}
说明:这个函数会把文章内容中的所有相对路径替换成绝对路径。如果你的图片路径还有其他形式,可以继续在函数里添加str_replace语句。
第三步:修改图集内容页模板
如果你的网站有图集功能,图集内容页的图片路径也需要修改。打开图集模板, 找到图集图片调用标签 {dede:field.imgsrctrue/}替换为:
https://你的域名
这样图集中的图片也会使用绝对路径了。
如果栏目页或首页的图片也不显示,通常是arclist标签调用的问题。检查模板中的arclist标签, 比如:
{dede:arclist typeid='1' titlelen='30'}
{/dede:arclist}
确保调用的是缩略图,并且开启了“启用绝对网址”后织梦会自动将转换为绝对路径。如果还是不行, 可以在arclist标签里添加function='replaceurl'或者手动修改缩略图路径:
按照上面的步骤操作后大部分图片不显示的问题都能解决。但如果还有例外可能是以下原因导致的:
检查二级域名的解析是否正确,确保它指向了和主域名相同的网站根目录。如果二级域名解析到了其他目录,图片路径自然会出错。
登录服务器, 检查/uploads目录的权限是否设置为755,或者IIS中是否有正确的读取权限。如果权限不足,浏览器即使找到了路径也无法访问图片。
有时候浏览器或CDN会缓存旧的相对路径,导致即使修改了路径,刷新后还是不显示。可以尝试强制刷新浏览器或者清空CDN缓存。
检查文章内容中的图片路径, 是否有手动添加的特殊字符、空格,或者路径中混用了/和\。确保所有图片路径格式统一,没有多余字符。
解决一次问题不难,但避免问题 发生才是关键。这里有几个实用建议:
1. 定期检查图片路径:每月抽查几篇文章,确认图片路径是否为绝对路径。
2. 使用绝对路径插件:如果网站经常更新, 可以安装织梦的“绝对路径插件”,自动处理所有图片路径。
3. 规范图片上传流程:要求编辑上传图片时 使用织梦自带的上传功能,避免手动修改路径。
4. 开启图片防盗链:如果担心其他网站盗用你的图片, 可以在服务器上设置图片防盗链,但注意不要影响自己网站的正常访问。
织梦CMS二级域名手机站图片不显示,本质上是相对路径在二级域名下无法正确解析的问题。解决方法的核心就是将相对路径替换为绝对路径通过数据库批量修改旧文章路径,通过后台设置和模板修改让新文章默认使用绝对路径。
记住这个流程:先改旧数据, 再调新设置,再说说排查特殊情况。只要严格按照步骤操作,图片不显示的问题就能彻底解决!
如果操作中遇到任何问题,欢迎在评论区留言,我们一起交流解决。希望这篇文章能帮到你,让手机站图片“亮”起来!
Demand feedback