DedeCMS 的目录结构遵循了清晰的逻辑分层,通常可以分为三大块:核心程序文件、网站前台文件 和 网站后台文件。

(图片来源网络,侵删)
整体目录概览
当你解压 DedeCMS 的安装包后,会看到如下的主要目录和文件:
dedecms/
├── a/ # 后台验证码存放目录
├── api/ # API 接口目录
├── dede/ # 后台管理程序目录 (非常重要!)
├── images/ # 系统通用图片目录
├── include/ # 核心类库和函数目录 (非常重要!)
├── install/ # 安装程序目录 (安装后可删除)
├ ├── member/ # 会员中心目录
├ ├── plus/ # 辅助功能模块目录 (非常重要!)
├ ├── special/ # 专题目录
├ ├── static/ # 静态资源目录 (CSS, JS, Fonts 等)
├ ├── templets/ # 网站前台模板目录 (非常重要!)
├── uploads/ # 上传文件目录 (附件、图片等)
├── data/ # 系统缓存、配置、日志目录 (非常重要!)
├── index.php # 网站前台入口文件
├── default.php # 默认首页文件 (旧版本)
├── head.php # 公共头部文件 (旧版本)
├── footer.php # 公共底部文件 (旧版本)
├── login.php # 用户登录页面
├── robots.txt // 搜索引擎爬虫协议文件
└── ... (其他配置文件如 .htaccess 等)
核心目录详解
下面我们来逐一解析这些关键目录的作用。
/dede/ - 后台管理目录
这是网站后台的核心所在,所有内容管理、系统设置、用户管理都在这里进行。
index.php: 后台登录入口文件,访问http://你的域名/dede/就会跳转到这个文件,它负责加载登录界面和验证逻辑。templets/: 后台模板目录,存放了后台管理界面的所有 HTML 模板文件(.htm),如果你想修改后台的界面风格(比如改个颜色、换个布局),就需要修改这个目录下的文件。img/: 后台专用图片目录,存放后台界面用到的图标、按钮等。js/: 后台专用的 JavaScript 文件目录。- ``: 后台功能模块文件。
content_list.php用于管理文章列表,album_add.php用于添加图集,sys_info.php用于查看系统信息等,几乎所有后台操作都对应着一个.php文件。
安全提示: /dede/ 目录是网站后台的核心,必须做好权限保护,通常的做法是:

(图片来源网络,侵删)
- 修改
dede目录名为一个复杂的、不易被猜测的名字(如my_admin_2025)。 - 在该目录下添加一个空的
index.html文件,防止目录列表被直接浏览。 - 配置服务器的
.htaccess文件,限制对该目录的访问。
/include/ - 核心类库与函数目录
这是 DedeCMS 的“引擎库”,包含了系统运行所需的核心类、函数和数据库操作类。一般情况下,你不需要修改这里的文件,除非是进行深度的二次开发。
dedesql.class.php: 数据库操作核心类,所有与数据库的交互(增删改查)都通过这个类来完成,理解这个文件对排查数据库问题至关重要。inc_fun_funAdmin.php: 包含了后台常用的一些函数,如GetCkAdmin()(获取当前管理员信息)等。inc_archives_view.php: 文档(文章、图集等)视图类,负责处理内容显示、标签解析等逻辑。inc_type_func.php: 栏目相关的函数库。inc_photograph.php: 图片处理相关的函数库,用于生成缩略图等。- ``: 系统配置信息常量文件,定义了网站路径、数据库信息等。这个文件非常重要,很多自定义开发会用到它。
/templets/ - 前台模板目录
这是 DedeCMS 最具特色的部分,用于控制网站前台的外观和布局,所有前台页面都是通过加载这里的模板文件生成的。
default/: 默认模板目录,新安装的 DedeCMS 会使用这个目录下的模板,你可以直接修改这里的文件来自定义网站,也可以复制一份,重命名(如mytheme),然后在后台“系统” -> “系统基本参数” -> “核心设置”中更改默认模板目录。index.htm: 网站首页模板。article_article.htm: 文章内容页模板。article_list.htm: 文章列表页模板(通常对应某个栏目)。index_body.htm: 首页主要内容模板(旧版本)。style/: 存放当前模板的 CSS 样式文件。images/: 存放当前模板专用的图片文件。js/: 存放当前模板专用的 JavaScript 文件。
style/: 全局样式目录,如果多个模板共享一套 CSS/JS,可以放在这里。
/plus/ - 辅助功能模块目录
这个目录包含了各种独立的功能模块,这些模块通常通过前台页面调用。
feedback.php: 评论/留言本功能。guestbook.php: 另一种形式的留言本。list.php: 通用列表页,常用于调用特定条件的文章列表。view.php: 通用内容页,用于显示单篇文档。search.php: 搜索功能页面。- ``: 投票功能页面。
应用场景: 在模板文件中,你可能会看到类似 {dede:php include plus/feedback.php/;} 这样的标签,这就是在模板中直接调用 /plus/ 目录下的功能模块。
/uploads/ - 上传文件目录
网站所有用户或管理员上传的文件都存放在这里,是网站数据的重要组成部分。
allimg/: 存放上传的图片文件。flink/: 存放友情链接的 Logo 图片。upfile/: 存放上传的其他附件文件(如文档、压缩包等)。special/: 存放专题相关的文件。
安全提示: /uploads/ 目录是网站安全的高风险区,因为它有写入权限,必须:
- 设置正确的目录权限(通常为
755或750)。 - 定期检查是否有可疑文件。
- 禁止执行上传目录下的 PHP 文件(通过
.htaccess配置php_flag engine off)。
/data/ - 缓存与配置目录
这个目录存放了系统运行时产生的临时文件、缓存和配置信息。
cache/: 模板缓存目录,当你访问前台页面时,DedeCMS 会将解析后的 PHP 模板编译成缓存文件(.php文件)存放在这里,以提高访问速度,修改模板后,需要清空这个缓存才能看到效果。config.cache.inc.php: 系统配置缓存文件,后台的“系统基本参数”等配置信息修改后,会生成这个缓存文件,前台程序通过读取它来获取配置,而不需要每次都查询数据库。- ``: 数据库配置文件,这是最重要的配置文件之一,存储了数据库连接信息(主机、用户名、密码、数据库名)。请务必保护好此文件,不要泄露。
- ``: 会员配置文件,存储了会员中心的相关配置。
- ``: 错误日志文件,当系统出现错误时,错误信息会记录在这里,是排查问题的好帮手。
/member/ - 会员中心目录
这是网站会员的前台操作界面,会员可以在这里注册、登录、修改个人信息、查看自己的文章等。
index.php: 会员中心首页入口。space.php: 会员个人主页。regnew.php: 会员注册页面。login.php: 会员登录页面。- ``: 会员功能模块文件,如
article_add.php(会员投稿)、pm.php(站内信)等。 templets/: 会员中心模板目录,用于控制会员中心的界面风格。
核心入口文件
除了目录,几个关键的 PHP 文件也至关重要:
index.php(网站根目录): 网站前台唯一入口,所有前台请求(首页、栏目页、文章页等)都会先经过这个文件,它会根据 URL 参数,加载相应的模板和内容,并最终生成页面输出,这是 DedeCMS 实现静态化的关键。config.php(网站根目录): 全局配置文件,在系统启动时被最先加载,定义了网站的基本路径和一些全局变量。include/common.inc.php中的很多配置信息都源于此。
总结与建议
| 目录/文件 | 作用 | 权限/注意事项 |
|---|---|---|
/dede/ |
后台管理 | 高安全风险,重命名目录名,加空 index.html |
/include/ |
核心程序库 | 一般不修改,除非深度开发 |
/templets/ |
前台模板 | 自定义网站外观的主要区域 |
/plus/ |
辅助功能模块 | 调用独立功能,如评论、搜索 |
/uploads/ |
上传文件目录 | 高安全风险,设置正确权限,禁止 PHP 执行 |
/data/ |
缓存与配置 | cache 目录需可写,config_*.php 需保护好 |
/member/ |
会员中心 | 独立的会员功能模块和模板 |
index.php (根) |
前台唯一入口 | 理解其工作原理对排查问题很有帮助 |
给新手的建议:
- 先备份:在进行任何修改前,务必备份整个网站目录和数据库。
- 本地测试:在本地服务器(如 XAMPP, WampServer)上搭建一个测试环境进行学习和修改,成功后再部署到线上。
- 从模板开始:如果你想改变网站的样子,请从
/templets/default/目录开始,这是最安全、最推荐的方式。 - 善用搜索:遇到问题时,先在 DedeCMS 官方论坛、百度等搜索引擎上搜索,通常能找到解决方案。
- 理解标签:DedeCMS 的模板引擎基于标签(如
{dede:arclist}),学习这些标签的使用是掌握模板修改的关键。
