这个文件非常特殊,它不仅仅是一个静态的HTML模板,更是整个网站动态内容生成和静态化的核心,理解 index.html,就等于理解了织梦网站内容发布的流程。

我会从以下几个方面为你详细拆解:
index.html的双重身份- 文件结构详解
- 核心代码解析
- 工作流程:从动态到静态
- 常见问题与技巧
index.html 的双重身份
index.html 有两个核心角色:
- 模板文件 (Template): 在后台管理时,
index.html是一个模板,它包含了网站的HTML结构、CSS样式和JavaScript代码,以及最重要的织梦模板标签,这些标签用于动态调用数据库中的内容(如文章列表、图片、友情链接等)。 - 静态文件 (Static Page): 当你在后台生成首页后,
index.html就变成了一个纯粹的静态HTML文件,这个文件不包含任何PHP或织梦标签,只包含最终的HTML、CSS和JS代码,它可以直接被浏览器访问,速度非常快,减轻了服务器的压力。
这种“模板”与“静态文件”的切换,是织梦CMS性能优化的核心机制。
文件结构详解
一个典型的 index.html 文件通常位于你网站根目录的 /templets/default/ 文件夹下,它的结构如下:

<!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/}">
<link rel="stylesheet" href="{dede:global.cfg_templets_skin/}/style.css">
</head>
<body>
<!-- 1. 顶部导航栏 -->
{dede:include filename="head.htm"/}
<!-- 2. 焦点图/轮播图 -->
<div class="focus">
{dede:arclist flag='f' row='5'}
<li><a href="[field:arcurl/]"><img src="[field:litpic/]" alt="[field:title/]"></a></li>
{/dede:arclist}
</div>
<!-- 3. 主要内容区域 -->
<div class="main-content">
<!-- 3.1 左侧文章列表 -->
<div class="left">
<h2>最新文章</h2>
{dede:arclist titlelen='40' row='10'}
<dl>
<dt><a href="[field:arcurl/]">[field:title/]</a></dt>
<dd>[field:description function='cn_substr(@me, 100)'/]...</dd>
</dl>
{/dede:arclist}
</div>
<!-- 3.2 右侧边栏 -->
<div class="right">
<!-- 友情链接 -->
{dede:flink type='text' row='24'/}
<!-- 热门文章排行 -->
{dede:arclist flag='h' row='10' orderby='click'}
<a href="[field:arcurl/]">[field:title/]</a><br>
{/dede:arclist}
</div>
</div>
<!-- 4. 页脚 -->
{dede:include filename="footer.htm"/}
</body>
</html>
核心代码解析
下面是 index.html 中最常见、最重要的织梦模板标签:
A. 全局变量标签
这些标签用于获取网站的全局配置信息。
{dede:global.cfg_webname/}: 网站名称,在后台“系统” -> “系统基本参数” -> “站点设置”中配置。{dede:global.cfg_keywords/}: 网站关键词。{dede:global.cfg_description/}: 网站描述。{dede:global.cfg_templets_skin/}: 当前模板的目录路径,/templets/default,用于CSS、JS等文件的路径引用,非常实用。
B. 文件包含标签
用于引入其他模板文件,实现模块化开发。
{dede:include filename='head.htm'/}: 包含头部文件(通常包含logo、主导航等)。{dede:include filename='footer.htm'/}: 包含页脚文件(通常包含版权信息、备案号等)。
C. 文章列表标签
这是最核心的标签,用于调用文章。

-
{dede:arclist ...}: 文章列表标签,用于调用一个或多个文章。row='10': 调用10条文章。titlelen='40': 标题长度限制,最多显示40个字符。flag='f': 调用带有“f”标识(通常是“首页”)的文章,常用于焦点图。flag='h': 调用带有“h”标识(通常是“头条”)的文章,常用于热门排行。orderby='click': 按点击量排序。typeid='1': 只调用栏目ID为1下的文章。channelid='1': 只调用频道ID为1下的内容(如文章、图集等)。
-
字段调用:
[field:title/]: 文章标题。[field:arcurl/]: 文章链接。[field:litpic/]: 文章缩略图。[field:description/]:[field:pubdate function='strftime("%Y-%m-%d", @me)'/]: 发布日期,通过function进行格式化。
D. 栏目标签
用于调用栏目信息。
{dede:channel type='top' row='8'}: 调用顶级栏目。type='top': 只调用顶级栏目。row='8': 调用8个顶级栏目。[field:typelink/]: 栏目链接。[field:typename/]: 栏目名称。
E. 其他常用标签
{dede:flink type='text' row='24'}: 友情链接标签。type='text': 文字链接。type='image': 图片链接。row='24': 调用24个友情链接。
工作流程:从动态到静态
理解这个过程至关重要:
-
开发阶段(模板模式)
- 你在
/templets/default/index.html中编写模板代码,里面充满了{dede:...}- 当你在浏览器中访问网站首页时,如果开启了“动态页面”,织梦的PHP引擎会解析这个模板文件。
- 引擎会读取
{dede:...}标签,去数据库中查询对应的数据(文章、栏目等)。- 将查询到的数据填充到模板标签的位置,最终生成一个完整的HTML页面,并发送给浏览器。
- 缺点: 每次访问都需要PHP引擎解析和查询数据库,访问量大时服务器压力大。
- 你在
-
发布/生成阶段(静态化)
- 为了提升性能,织梦提供了“一键生成”功能。
- 你登录织梦后台,找到“生成” -> “主页生成”。
- 点击“生成HTML”,织梦会再次执行第1步的解析过程,但这次它不会把结果发送给浏览器。
- 它会将最终生成的纯HTML代码,保存到网站根目录下的
index.html文件中。 - 网站根目录下的
index.html就是一个静态文件,里面没有任何PHP或织梦标签。
-
访问阶段(静态文件模式)
- 当用户再次访问你的网站首页时,Web服务器(如Nginx、Apache)会直接读取并返回根目录下的
index.html这个静态文件。 - 整个过程完全不经过PHP引擎和数据库,所以速度极快,服务器负载极低。
- 当用户再次访问你的网站首页时,Web服务器(如Nginx、Apache)会直接读取并返回根目录下的
后台设置: 这个过程由后台的“系统” -> “系统基本参数” -> “核心设置”中的选项控制:
- 网站首页链接: 如果设置为
index.html,则网站会优先访问静态首页。 - 发布文章(包括保存、审核、删除)是否自动更新主页: 如果开启,每次有文章变动,系统会自动重新生成
index.html,这是为了保证静态页面的内容始终最新。
常见问题与技巧
问题1:为什么我后台修改了内容,首页没变?
- 原因: 你访问的是静态的
index.html文件,它不会自动更新。 - 解决方法: 登录后台,进入“生成” -> “主页生成”,点击“更新主页HTML”,系统会根据最新的数据库内容重新生成
index.html。
问题2:如何让栏目页也变成静态?
- 方法: 后台“生成” -> “栏目页生成”,选择你想要生成静态化的栏目,然后点击“生成”,这样会为每个栏目生成一个
index_X.html文件(X是栏目ID)。
技巧1:合理使用 {dede:include}
不要把所有代码都写在 index.html 里,将头部、导航、页脚、侧边栏等模块拆分成独立的 .htm 文件(如 head.htm, footer.htm),然后用 {dede:include} 引入,这样代码更清晰,修改某个模块时只需要改动对应的文件即可。
技巧2:使用 channel 标签制作主导航
{dede:channel type='top'} 是制作网站主导航的完美选择,循环输出 [field:typename/] 和 [field:typelink/] 即可。
技巧3:善用 arclist 的 flag 属性
为重要的文章设置“首页推荐”、“头条”等标识,然后在 index.html 中通过 flag='f' 或 flag='h' 来精准调用,非常灵活。
希望这份详细的解析能帮助你完全理解织梦的 index.html 文件!
