第一步:最常见的原因(90%的问题出在这里)
检查图片路径是否正确({dede:field name='imgurl' /})
这是最核心、最常见的问题,织梦默认的文章内容图片标签是 {dede:field name='imgurl' /},这个标签在特定情况下(如使用图集模型、远程图片本地化等)可能无法正确获取图片地址。

解决方案:
-
对于文章缩略图:
- 打开后台,进入“核心” -> “内容模型管理” -> “普通文章” -> “字段管理” -> “字段列表”。
- 找到
litpic字段,检查它的“前台列表内容模板(InnerText)”是否为空,如果为空,请填入:<img src='[field:litpic/]' alt='[field:title/]' /> - 在文章编辑页面,确保已经上传并选择了“缩略图”。
-
对于文章正文中的图片:
- 织梦在保存文章时,默认会将
<img>标签里的相对路径(如src="/uploads/images/2025/10/a.jpg")转换成绝对路径(如src="http://www.yourdomain.com/uploads/images/2025/10/a.jpg")。 - 问题可能出在: 你的网站根目录()和你的域名配置不匹配。
- 解决方法: 登录织梦后台,进入“系统” -> “系统基本参数” -> “核心设置”。
- 找到 “
附件目录”,确认它是否正确(通常是/uploads)。 - 找到 “
网站根目录”,确认它是否为 。 - 最关键的一步: 找到 “
附件保存目录”,它应该是相对于网站根目录的,uploads。 - 检查 “
网站网址” 和 “附件目录网址” 是否正确。附件目录网址通常是http://www.yourdomain.com/uploads,如果这里填写错误,所有图片路径都会错。
- 找到 “
- 织梦在保存文章时,默认会将
-
使用更健壮的图片标签:
(图片来源网络,侵删)- 在模板文件(如
article_article.htm)中,不要直接使用{dede:field name='imgurl' /},因为它不一定能获取到图片。 - 推荐使用
body标签配合正则表达式来获取第一张图片:{dede:field.body runphp='yes'} $str = @me; $rgx = "/<img[^>]*src=['\"]([^'\"]+)[^>]*>/i"; if(preg_match_all($rgx, $str, $matches)) { @me = $matches[1][0]; // 输出第一张图片的src } else { @me = '/images/default.jpg'; // 如果没有图片,显示一个默认图 } {/dede:field.body} - 或者直接使用
body标签,让浏览器自己解析:{dede:field.body/}这种方法最简单,但如果CSS样式问题,图片可能显示异常。
- 在模板文件(如
第二步:检查网站路径和域名配置
网站从本地/测试环境移动到服务器后图片不显示
这是非常典型的情况,在本地电脑上,网站可能运行在 http://localhost/ 或 http://192.168.1.100/ 上,图片路径也是基于这个的,上传到服务器后,域名变成了 http://www.yourdomain.com/,但图片数据库里存的还是本地路径,导致404。
解决方案:
-
织梦后台自带修复工具:
-
登录织梦后台。
-
进入“系统” -> “SQL命令行工具”。
-
在“命令行”选项卡下,输入以下SQL语句,查询”执行。请务必将
http://www.yourdomain.com/替换成你自己的真实域名!-- 修复文章内容中的图片路径 UPDATE dede_archives SET body = REPLACE(body, 'http://localhost', 'http://www.yourdomain.com'); -- 修复缩略图路径 UPDATE dede_archives SET litpic = REPLACE(litpic, 'http://localhost', 'http://www.yourdomain.com'); -- 修复其他可能包含旧路径的字段,如 keywords, description 等 UPDATE dede_archives SET keywords = REPLACE(keywords, 'http://localhost', 'http://www.yourdomain.com'); UPDATE dede_archives SET description = REPLACE(description, 'http://localhost', 'http://www.yourdomain.com');
-
执行后,清空浏览器缓存,刷新网站,问题应该解决。
-
第三步:检查服务器和文件权限
图片文件或目录权限问题
如果图片上传了,路径也对,但服务器上找不到这个文件,那就是权限问题。
解决方案:
- 使用FTP工具(如FileZilla)连接你的服务器。
- 检查你的网站根目录下的
uploads文件夹及其所有子文件夹的权限。 - 权限通常设置为
755,这表示:- 所有者(Owner):读、写、执行 (7)
- 所属组(Group):读、执行 (5)
- 其他人(Others):读、执行 (5)
- 检查图片文件的权限,通常设置为
644。 - 如果权限不正确,右键点击文件/文件夹,选择“文件权限”,修改后确定。
第四步:检查浏览器和缓存问题
浏览器缓存或浏览器本身的问题
浏览器缓存了旧的错误页面,导致即使你已经修复了,看起来还是不行。
解决方案:
- 强制刷新页面:
- Windows/Linux:
Ctrl + F5 - Mac:
Cmd + Shift + R
- Windows/Linux:
- 清除浏览器缓存: 在浏览器设置中找到清除缓存/浏览历史的选项,然后重新打开网站。
- 使用无痕/隐私模式访问网站: 这样可以排除浏览器插件或缓存的干扰。
- 换一个浏览器试试: 比如你用的是Chrome,换用Edge或Firefox看看是否正常。
第五步:检查服务器配置和安全设置
服务器安全软件或防火墙拦截
服务器上的安全软件(如安全狗、云锁)或防火墙规则可能会阻止对 uploads 目录的访问,或者误判图片为恶意文件。
解决方案:
- 登录你的服务器控制面板(如宝塔面板、cPanel等)。
- 检查是否有安全软件拦截了图片的访问,查看安全日志,看看是否有相关记录。
- 在宝塔面板中,检查“安全” -> “防火墙”规则,确保没有阻止80/443端口或相关目录的规则。
- 如果使用了安全狗等软件,尝试暂时将其关闭,然后刷新网站,看图片是否恢复,如果恢复了,说明是它的问题,需要在安全狗里添加“网站保护”规则,放行你的网站目录。
伪静态规则问题
如果网站使用了伪静态,但 .htaccess 文件(Apache服务器)或 web.config 文件(IIS服务器)配置错误,也可能导致某些路径(如图片路径)无法被正确解析。
解决方案:
- 检查网站根目录下的
.htaccess文件内容是否正确,可以尝试将其重命名(如.htaccess.bak),然后刷新网站,看图片是否能显示,如果能,说明是伪静态规则问题,需要重新生成或修正规则。
第六步:检查模板文件本身
模板文件中的 <img> 标签有误
如果你在模板文件中直接写死了 <img> 标签,或者标签属性有误,也可能导致图片不显示。
解决方案:
- 打开你的模板文件(
article_article.htm)。 - 检查其中关于图片的HTML代码,确保标签完整,
<img src="[field:litpic/]" alt="[field:title/]" />
- 检查CSS样式,
display: none;是否无意中隐藏了图片。
总结排查流程
当你遇到“织梦网站所有图片不显示”的问题时,请按以下顺序操作:
- 检查后台“系统基本参数”中的网站路径和附件路径配置是否正确。
- 检查文章的缩略图是否已上传,并在编辑器里选择。
- 使用FTP工具检查
uploads目录及图片文件的权限是否为755和644。 - 如果网站是刚从本地/测试环境搬过来的,立即使用“SQL命令行工具”批量替换文章内容和缩略图中的旧域名为新域名。
- 强制刷新浏览器(Ctrl+F5)或清除缓存。
- 检查服务器上的安全软件(如安全狗)或防火墙是否拦截了图片访问。
- 检查模板文件中的图片标签是否使用正确。
按照这个流程,绝大多数图片不显示的问题都能得到解决,如果以上方法都试过了问题依旧,请提供更多信息,
- 网站的网址(可以隐藏域名)
- 是所有图片都不显示,还是只有缩略图/正文图片不显示?
- 是否在移动网站后才出现的问题?
这样能更准确地定位问题。
