在 DedeCMS 中,index.html 是您网站的首页静态文件,与许多其他 PHP 程序不同,DedeCMS 的一个核心特点就是 “静态化生成”,这意味着 index.html 不是一个由服务器实时读取 PHP 代码生成的动态页面,而是一个预先生成好的、纯粹的 HTML 文件。

(图片来源网络,侵删)
当用户访问您的网站域名(www.yourdomain.com)时,Web 服务器(如 Apache 或 Nginx)会直接将这个 index.html 文件发送给用户的浏览器,而无需执行任何 PHP 脚本,这带来了两个主要好处:
- 访问速度快:服务器直接读取文件并发送,比执行 PHP 代码、查询数据库、生成页面快得多。
- 服务器负载低:减少了 PHP 和数据库的运行压力,能同时处理更多的并发访问。
index.html 的位置
index.html 文件通常位于您 DedeCMS 网站的根目录下,也就是与 /dede/、/include/、/special/ 等文件夹同级的地方。
/your_website/
├── index.html <-- 首页静态文件
├── /dede/ <-- 后台管理目录
├── /include/ <-- 核心函数库
├── /templets/ <-- 网站模板目录
│ └── /default/ <-- 默认模板风格
├── /uploads/ <-- 上传文件目录
└── ...
index.html 是如何生成的?
index.html 文件是由 DedeCMS 的后台系统根据 模板文件 和 自动生成的。
生成流程:

(图片来源网络,侵删)
- 模板文件:您在后台设置的网站首页,对应着一个模板文件,这个文件位于
/templets/目录下,默认路径是/templets/default/index.htm。 - 生成操作:您需要在 DedeCMS 后台手动点击“生成”按钮,或者在开启“发布栏目”时自动触发生成。
- DedeCMS 引擎:系统会读取
index.htm模板文件。 - 解析标签:模板文件中充满了各种 DedeCMS 的 模板标签(如
{dede:arclist}、{dede:channel}等),DedeCMS 引擎会解析这些标签,并根据标签指令从数据库中获取相应的数据(如文章列表、栏目信息等)。 - :引擎将获取到的数据填充到模板标签的相应位置,生成一个完整的 HTML 代码。
- 写入文件:这个完整的 HTML 代码被保存为根目录下的
index.html文件。
- {模板标签 + HTML结构} = {DedeCMS引擎} -> index.html`
index.html 的内容是什么样的?
一个默认的 DedeCMS index.html 文件看起来就像一个普通的 HTML 页面,但它通常包含了一些特殊的标记,这些标记是 DedeCMS 用于更新和管理的“接口”。
下面是一个典型的、经过简化的 index.html 内容示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">{dede:global.cfg_webname/}</title>
<meta name="keywords" content="{dede:global.cfg_keywords/}">
<meta name="description" content="{dede:global.cfg_description/}">
<!-- ... 其他 head 标签 ... -->
</head>
<body>
<div class="header">
<h1><a href="{dede:global.cfg_cmsurl/}">{dede:global.cfg_webname/}</a></h1>
<nav>
<ul>
<li><a href="/">首页</a></li>
{dede:channel type='top' row='8'}
<li><a href='[field:typelink/]'>[field:typename/]</a></li>
{/dede:channel}
</ul>
</nav>
</div>
<div class="main">
<!-- 调用首页文章列表 -->
{dede:arclist row='10' titlelen='40'}
<div class="article-item">
<h2><a href="[field:arcurl/]">[field:title/]</a></h2>
<p>[field:description function='cn_substr(@me,100)'/]...</p>
<div class="info">作者:[field:writer/] | 时间:[field:pubdate function="MyDate('Y-m-d',@me)"/] | 点击:[field:click/]</div>
</div>
{/dede:arclist}
</div>
<div class="footer">
<p>Powered by <a href="http://www.dedecms.com/" target="_blank">DedeCMS</a> © 2004-2025</p>
<!-- DedeCms Wap End -->
<div style="display:none">
<a href="{dede:field name='phpurl'/}/plus/recommend.php?aid={dede:field name='id'/}" id="recom"></a>
<a href="{dede:field name='phpurl'/}/plus/stow.php?aid={dede:field name='id'/}" id="stow"></a>
<a href="{dede:field name='phpurl'/}/plus/digg.php?aid={dede:field name='id'/}" id="digg"></a>
</div>
</div>
</body>
</html>
解析:**

(图片来源网络,侵删)
{dede:global.cfg_webname/}:调用全局变量,显示网站名称。{dede:channel type='top'}:调用顶级栏目列表。{dede:arclist ...}:这是最常用的标签,用于调用文章列表。row='10'表示调用10篇文章。[field:title/]:在循环内部调用文章的字段,如标题、链接、摘要等。- 底部的隐藏链接:
<div style="display:none">里的几个链接是 DedeCMS 的功能接口,用于实现“收藏”、“推荐”、“踩一下”等功能,即使页面是静态的,用户点击这些链接时会通过 AJAX 技术与服务器通信,从而更新数据库中的点击数、收藏数等,而无需重新生成整个页面。
如何管理和更新 index.html?
您不能直接编辑 index.html 文件来修改网站内容,因为下次生成时,这个文件会被覆盖,正确的做法是:
-
修改模板:
- 登录 DedeCMS 后台。
- 进入 “模板” -> “默认模板管理”。
- 找到并编辑
index.htm文件。 - 修改完成后,点击“保存”。
-
重新生成首页:
- 进入 “生成” -> “更新主页HTML”。
- 点击页面上的 “更新主页HTML” 按钮。
- 系统会根据您修改后的
index.htm模板,重新生成一个全新的index.html文件并覆盖掉旧的。
| 特性 | 描述 |
|---|---|
| 文件性质 | 静态 HTML 文件,由 DedeCMS 预先生成。 |
| 文件位置 | 网站根目录 ()。 |
| 来源 | 由 /templets/default/index.htm 模板文件和数据库内容生成。 |
| 更新方式 | 在后台修改模板文件 (index.htm),然后点击“生成”按钮来更新 index.html。 |
| 优势 | 访问速度快,服务器负载低。 |
| 动态交互 | 通过底部的隐藏 <a> 链接和 AJAX 技术实现部分动态功能(如点击计数)。 |
理解 index.html 的生成机制是掌握 DedeCMS 的第一步,它将帮助您更好地管理网站内容和性能。
