问题根源分析
head.htm 是织梦模板文件中的一个核心文件,它通常包含了网站的 <head> 部分内容,

(图片来源网络,侵删)
charset(字符集) (页面标题)keywords(关键词)description(页面描述)- 调用CSS样式表 (
<link rel="stylesheet" ...>) - 调用JavaScript文件 (
<script src="...">)
当系统在指定的位置找不到这个文件时,就会报错,最常见的原因有以下几种:
- 文件被误删或移动:这是最直接的原因,可能在清理文件、移动目录时不小心删除或移动了
head.htm。 - 文件权限问题:Web服务器(如Apache、Nginx)的用户(通常是
www-data或apache)没有读取head.htm文件的权限,这在Linux服务器上很常见。 - 路径配置错误:系统配置的模板目录路径不正确,导致在错误的位置寻找文件。
- 文件编码问题:
head.htm文件被保存为了不正确的编码(如UTF-8 with BOM),而系统期望的是无BOM的UTF-8或GBK编码,导致解析失败。 - 缓存问题:织梦有强大的缓存机制,有时即使你修复了文件,系统仍在读取旧的缓存,导致页面依然报错。
- 主题/模板目录不存在:如果你正在使用一个自定义主题,而该主题目录本身不存在或配置错误,系统自然找不到里面的
head.htm。
解决方案(按推荐顺序)
请按照以下步骤逐一排查,90%以上的问题都可以在这里得到解决。
检查文件是否存在(最首要的步骤)
- 登录你的FTP或主机控制面板的文件管理器。
- 找到你的织梦网站根目录。
- 进入
templets目录。 - 检查
head.htm文件是否存在于templets目录下。
- 如果文件存在:请跳到方案四(清理缓存)。
- 如果文件不存在:请继续下一步。
恢复或重新上传 head.htm 文件(如果文件不存在)
head.htm 是系统核心文件,不能随意创建,最好的方法是使用一个标准的、干净的版本。
-
从官方或可靠来源获取标准文件:
(图片来源网络,侵删)- 最佳方法:在你的电脑上,找到另一个正常工作的织梦网站(版本最好与你的一致),将其
templets/head.htm文件下载下来。 - 备选方法:如果你找不到,可以从织梦官方的默认模板包中找到这个文件,搜索 "dedecms 默认模板下载" 找到对应版本的模板包,解压后找到里面的
head.htm。
- 最佳方法:在你的电脑上,找到另一个正常工作的织梦网站(版本最好与你的一致),将其
-
上传文件到正确位置:
- 将下载到的
head.htm文件通过FTP上传到你网站服务器的/templets/目录下。 - 注意:确保上传模式是ASCII模式(对于文本文件),或者使用自动模式,如果上传为二进制模式可能会导致文件损坏。
- 将下载到的
检查文件权限
如果文件已存在但仍然报错,很可能是权限问题,这在Linux服务器上尤为常见。
-
通过FTP软件检查:连接FTP后,右键点击
head.htm文件,查看属性,通常需要确保权限为 644(所有者可读写,组用户和其他用户只读)。 -
通过SSH/命令行修复(推荐):
(图片来源网络,侵删)-
登录你的服务器SSH。
-
进入
/网站目录/templets/目录。 -
执行以下命令,将
templets目录及其下所有文件的权限设置为正确的值:# 设置目录权限为755 chmod 755 /你的网站目录/templets/ # 设置目录下所有文件权限为644 find /你的网站目录/templets/ -type f -exec chmod 644 {} \; -
确保网站根目录(
/你的网站目录/)的权限是755,data、uploads等目录的权限是777(或755,视具体需求而定)。
-
清理织梦缓存
这是最容易被忽略但又非常关键的一步,织梦为了提高速度,会生成大量缓存文件,即使你修复了源文件,页面也可能仍在读取缓存。
-
通过后台清理:
- 登录你的织梦后台。
- 在左侧菜单找到 “系统” -> “系统设置” -> “一键更新网站”。
- 在右侧页面,找到 “更新HTML” 部分,勾选 “更新主页HTML” 和 “更新栏目页HTML”,然后点击“开始更新”,这个过程会自动清理并重建缓存。
-
手动删除缓存文件:
- 通过FTP或文件管理器,进入
/data/目录。 - 删除
cache目录下的所有文件(注意是文件,不要删除cache目录本身)。 - 删除
tplcache目录下的所有文件。 - 删除
session目录下的文件(可选,但建议删除)。 - 清理完毕后,刷新你的网站前台,看问题是否解决。
- 通过FTP或文件管理器,进入
检查模板目录配置
如果你使用的是自定义模板,系统可能配置了错误的模板路径。
- 登录织梦后台。
- 进入 “系统” -> “系统基本参数” -> “核心设置”。
- 找到 “模板目录 (tpldir)” 这一项,检查其值是否正确,默认值是
{dede:field name='templeturl'/},它会自动指向/templets/你的默认模板目录/。 - 如果你的网站使用了多个模板,确保
head.htm位于当前正在使用的模板目录下(/templets/default/或/templets/你自定义的主题名/)。
总结与排查流程
遇到 "Dede无法找到head.htm" 错误时,请按以下顺序操作:
- 检查文件:用FTP确认
/templets/head.htm是否存在。 - 恢复文件:若不存在,从正常织梦网站下载标准版
head.htm并上传。 - 修复权限:若文件存在但报错,用命令行
chmod 644 /templets/head.htm修复权限。 - 清理缓存:进入后台“一键更新网站”或手动删除
/data/cache/和/data/tplcache/下的所有文件。 - 检查路径:确认后台“核心设置”中的模板目录配置是否正确。
按照这个流程走,几乎可以100%解决此问题,如果以上所有方法都无效,那可能是网站文件损坏严重,建议考虑从备份中恢复整个网站。
