这个问题通常意味着,你在后台发布了文章,但网站前台对应的文章详情页(.html文件)没有成功创建,或者创建的文件是空的。

(图片来源网络,侵删)
问题根源分析
我们需要理解DedeCMS的工作原理,DedeCMS默认采用“静态化生成”模式,当你发布一篇文章时,它不会直接把文章内容存入数据库然后动态读取,而是:
- 后台接收到文章数据。
- 执行一个“生成”或“更新”操作。
- 系统根据模板,将文章内容与模板文件结合,生成一个完整的HTML文件。
- 将这个HTML文件上传到你网站的指定目录(通常是
/html/或/article/)。
“文档没有生成”意味着第3或第4步出了问题。
排查与解决步骤(请按顺序检查)
第一步:检查最基础也是最常见的原因
是否点击了“生成”或“更新”按钮?
- 这是最容易被忽略的一点,在DedeCMS后台发布文章时,填写完内容后,必须点击“生成HTML”按钮(通常在编辑器下方),文章才会被生成。
- 错误做法:只点“保存”或“确定”。
- 正确做法:填写完所有内容 -> 点击“生成HTML”文章。
文章是否处于“审核通过”状态?

(图片来源网络,侵删)
- 在文章列表页面,检查文章的“状态”列,如果状态是“未审核”,那么这篇文章是不会在前台显示,也不会被生成的。
- 解决方法:找到该文章,点击“审核”按钮,将其状态改为“审核通过”,然后再尝试生成一次。
第二步:检查网站目录和文件权限
这是另一个非常高频的原因,Web服务器(如Apache、Nginx)需要拥有对你网站目录的写入权限,才能创建 .html 文件。
检查关键目录的权限
- 登录你的网站FTP或使用主机控制面板的文件管理器。
- 检查以下目录及其子目录的权限是否为 755 (Linux/Unix系统) 或 Everyone: 读取和执行, 写入 (Windows系统)。
- (网站根目录)
/data/(存放缓存等)/html/(存放生成的HTML文件,这个目录是重点!)/uploads/(上传目录)/templets/(模板目录)
- 如何修改:在FTP工具中右键点击目录 -> “文件权限” -> 设置数值为755,如果权限不足,服务器将无法写入文件。
检查目录是否真的存在
- 确认你的后台设置中,生成的HTML文件存放的目录(如
/html/)是否已经创建,如果目录不存在,自然无法生成文件。
第三步:检查DedeCMS核心设置
检查“文档默认关键字”和“文档默认描述”

(图片来源网络,侵删)
- 这是一个非常经典且隐蔽的Bug,文档默认关键字”或“文档默认描述”这两个字段为空,或者包含了一些特殊字符,可能会导致生成失败。
- 解决方法:
- 进入DedeCMS后台:
系统->系统基本参数。 - 在左侧菜单选择
其他选项。 - 找到“文档默认关键字”和“文档默认描述”,确保它们不为空,可以随便填几个通用词,网站内容,最新资讯”。
- 保存后,再尝试生成文章。
- 进入DedeCMS后台:
检查是否开启了“文档HTML”
- 进入后台:
系统->系统基本参数->核心设置。 - 找到“是否使用文档HTML”这一项,确保它被设置为“是”。
第四步:检查模板和内容问题
检查文章内容是否包含特殊代码或错误标签
- 中是否包含了导致模板解析失败的代码?一个未闭合的PHP标签
{dede:},或者一个错误的JS脚本。 - 解决方法:
- 尝试清空文章内容,只留一段简单的文字(如“测试内容”),然后生成,看是否成功。
- 如果成功,说明问题出在你之前粘贴的内容上,逐步添加内容,找出是哪一部分导致了生成失败。
检查文章模板(article_article.htm)是否损坏
- 模板文件本身如果出错,也会导致生成失败。
- 解决方法:
- 进入后台:
模板->默认模板管理。 - 找到并下载你正在使用的文章详情页模板(通常是
article_article.htm)。 - 检查模板文件的开头是否有
<!DOCTYPE html>等标准HTML声明,标签是否闭合。 - 可以尝试备份当前模板,然后恢复系统默认的文章模板,看是否能生成,如果可以,再慢慢修改回你的自定义模板。
- 进入后台:
第五步:检查缓存问题
清理系统缓存
- 过期的缓存有时会干扰正常的生成流程。
- 解决方法:进入后台:
系统->系统基本参数->性能选项-> 点击“清空所有缓存”。
关闭缓存功能进行测试
- 进入后台:
系统->系统基本参数->性能选项。 - 将“是否开启模板缓存”设置为“否”。
- 尝试生成一篇文章,如果成功了,说明是缓存机制的问题,生成成功后,记得再把它改回“是”,以提升网站性能。
第六步:检查服务器环境和PHP错误
如果以上所有方法都无效,那问题可能出在服务器端。
查看PHP错误日志
- 生成HTML文件失败时,PHP通常会记录错误信息。
- 解决方法:联系你的主机服务商,或者查看服务器上的
php_error.log文件,这个日志会告诉你具体是哪个函数或操作失败了(权限不足、函数被禁用等)。
检查PHP相关配置
allow_url_fopen和file_get_contents这两个PHP选项在DedeCMS生成静态页时非常重要,确保它们在php.ini中没有被禁用。
总结与快速排查清单
当你遇到“文档没有生成”的问题时,可以按这个清单快速操作:
- [必做] 确认文章已审核通过,并且在发布时点击了“生成HTML”按钮。
- [必做] 通过FTP检查
/html/目录的权限是否为755。 - [高频] 进入
系统->系统基本参数->其他选项,检查并填写“文档默认关键字”和“文档默认描述”。 - [尝试] 清空文章内容,只留简单文字,看是否能生成。
- [终极] 备份当前模板,恢复系统默认模板进行测试。
- [ 联系主机服务商,检查服务器日志和PHP配置。
按照这个流程,90%以上的“文档未生成”问题都能得到解决,希望对你有帮助!
