核心思想
在 IIS 上运行 DedeCMS,最关键的一步是配置 URL 重写,DedeCMS 默认使用的是 Apache 的伪静态规则(.htaccess 文件),而 IIS 无法直接识别它,我们需要将这些规则转换成 IIS 能够理解的 web.config 文件。

(图片来源网络,侵删)
第一步:环境准备
在开始之前,请确保你的服务器已经安装了以下软件:
- 操作系统:Windows Server 2012 / 2025 / 2025 / 2025,或者 Windows 10/11(用于本地测试)。
- Web 服务器:IIS (Internet Information Services)。
- 数据库:MySQL 5.6 或更高版本(推荐 5.7+ 或 8.0+)。
- 编程语言:PHP 7.x 或更高版本(推荐 PHP 7.4 或 8.0+)。
- URL 重写模块:这是最关键的一步! 必须安装 IIS URL Rewrite Module。
- 下载地址:https://www.iis.net/downloads/microsoft/url-rewrite
- 注意:如果你的 IIS 版本较新(如 Windows Server 2025+),该模块可能已经预装,你可以通过 IIS 管理器中的“模块”列表来检查。
第二步:安装 PHP 和 MySQL
这一步是运行 DedeCMS 的基础。
-
安装 MySQL
- 下载 MySQL Community Server:https://dev.mysql.com/downloads/installer/
- 运行安装程序,选择 "Full"(完整安装)或 "Custom"(自定义安装),自定义安装时,请务必记下你设置的 root 用户密码。
- 安装完成后,可以使用 MySQL 自带的命令行工具或如 Navicat、phpMyAdmin 等图形化工具来管理数据库。
-
安装 PHP
(图片来源网络,侵删)-
下载 PHP for Windows:https://windows.php.net/download/
-
选择非线程安全 的 NTS 版本(
PHP 8.0 (TS VC16 x64)),并下载 ZIP 包。 -
解压 ZIP 包到一个固定目录,
C:\php。 -
配置 PHP:
(图片来源网络,侵删)-
将
C:\php目录下的php.ini-production文件复制一份,重命名为php.ini。 -
用记事本打开
php.ini,修改以下关键配置:; 找到并取消注释,设置扩展目录路径 extension_dir = "ext" ; 取消注释,启用必要的扩展 extension_dir = "ext" extension=curl extension=fileinfo extension=gd extension=mbstring extension=mysqli extension=openssl extension=pdo_mysql ; 设置时区 date.timezone = PRC
-
-
将 PHP 注册到 IIS:
- 以管理员身份打开命令提示符(CMD)。
- 进入 PHP 目录:
cd C:\php - 运行命令:
php-cgi.exe -b 127.0.0.1:9000,这会让 PHP 以 FastCGI 模式运行在 9000 端口。 - 打开 IIS 管理器,点击你的服务器节点,在右侧的 "处理程序映射" 中,点击 "添加模块映射"。
- 请求路径:
*.php - 模块:
FastCgiModule - 可执行文件:
C:\php\php-cgi.exe(选择你的 php-cgi.exe 路径) - 名称:
FastCgi-php - 点击“确定”。
- 重启 IIS 服务。
-
第三步:部署 DedeCMS 文件
-
下载 DedeCMS
- 访问 DedeCMS 官网:https://www.dedecms.com/
- 下载最新版本的 DedeCMS ZIP 包。
-
上传文件
- 将下载的 DedeCMS ZIP 包解压。
- 将解压后的所有文件和文件夹(
dede、data、include等)全部复制到你网站的根目录,在 IIS 中,这个目录通常是C:\inetpub\wwwroot\你的网站文件夹。
第四步:配置 IIS 站点和权限
-
创建网站
- 打开 IIS 管理器。
- 在左侧的 "连接" 窗格中,右键点击 "网站",选择 "添加网站..."。
- 网站名称:输入一个你喜欢的名称,如 "MyDedeSite"。
- 物理路径:选择你刚才存放 DedeCMS 文件的目录,
C:\inetpub\wwwroot\MyDedeSite。 - 端口:默认为
80。 - 主机名:如果是在本地测试,可以留空;如果是公网域名,则输入你的域名。
- 点击 "确定"。
-
设置目录权限(极其重要!)
- 在 IIS 管理器中,选中你刚刚创建的网站。
- 在中间的 "操作" 窗格中,点击 "编辑权限..."。
- 在弹出的 "安全" 选项卡中,点击 "编辑...","添加..."。
- 在输入框中输入
IIS_IUSRS,然后点击 "检查名称",确定后点击 "确定"。 - 选中
IIS_IUSRS用户,在下面的权限列表中,勾选 "读取" 和 "读取和执行"。 - 再次点击 "添加...",输入
SYSTEM,同样赋予 "读取" 和 "读取和执行" 权限。 - 为了安装和后续操作,你还需要给当前用户(或
Administrators组)完全控制权限,点击 "添加",输入你的用户名,然后勾选 "完全控制"。 - 点击 "应用" -> "确定" 关闭所有窗口。
第五步:配置 URL 重写(核心步骤)
这是 IIS 与 DedeCMS 成功结合的关键。
-
安装 URL Rewrite 模块:如果你还没安装,请参考第一步的说明下载并安装。
-
生成
web.config文件:- DedeCMS 官方提供了一个工具来生成 IIS 的
web.config文件。 - 访问生成工具页面:https://help.dedecms.com/install-use/iis-rewrite/
- 在页面中,会显示一个完整的
web.config文件内容,你可以直接复制。
- DedeCMS 官方提供了一个工具来生成 IIS 的
-
创建
web.config文件:- 在你的网站根目录(
C:\inetpub\wwwroot\MyDedeSite)下,新建一个名为web.config的文本文件。 - 将官方生成工具页面上的代码完整地粘贴进去并保存。
- 一个典型的
web.config文件内容如下:<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="DedeCMS Article"> <match url="^article-([0-9]+)-([0-9]+)\.html$" /> <action type="Rewrite" url="plus/view.php?aid={R:1}" /> </rule> <rule name="DedeCMS List"> <match url="^category-([0-9]+)\.html$" /> <action type="Rewrite" url="plus/list.php?tid={R:1}" /> </rule> <rule name="DedeCMS Special"> <match url="^special-([0-9]+)-([0-9]+)\.html$" /> <action type="Rewrite" url="plus/list.php?tid={R:1}&totalresult={R:2}" /> </rule> <rule name="DedeCMS Archives"> <match url="^archives-([0-9]+)-([0-9]+)\.html$" /> <action type="Rewrite" url="plus/view.php?aid={R:1}" /> </rule> <rule name="DedeCMS Search"> <match url="^search\.html$" /> <action type="Rewrite" url="plus/search.php" /> </rule> <rule name="DedeCMS Tag"> <match url="^tags\.html$" /> <action type="Rewrite" url="tags.php" /> </rule> <rule name="DedeCMS Tag Detail"> <match url="^tag-([0-9]+)\.html$" /> <action type="Rewrite" url="tags.php?/{R:1}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
- 在你的网站根目录(
第六步:运行 DedeCMS 安装向导
所有准备工作都已完成。
- 在浏览器中访问你的网站地址,
http://localhost/MyDedeSite或http://你的域名.com。 - 你应该能看到 DedeCMS 的欢迎页面和安装向导,点击“我同意”。
- 系统会自动检测你的服务器环境(PHP、MySQL 等是否正常)。
- 填写数据库信息:
- 数据库服务器:
localhost或0.0.1 - 数据库用户名:你的 MySQL 用户名(通常是
root) - 数据库密码:你在安装 MySQL 时设置的密码
- 数据库名:你可以提前在 phpMyAdmin 中创建一个数据库,或者让 DedeCMS 自动创建。
- 表前缀:默认为
dede_,保持默认即可,可以防止与其他程序冲突。
- 数据库服务器:
- 点击“继续”,等待安装完成。
- 安装成功后,务必删除
/install目录,以防止安全风险。
第七步:后续配置与测试
- 登录后台:访问
http://你的域名.com/dede/,使用安装时设置的管理员账号和密码登录。 - 修改网站信息:在后台“系统” -> “系统基本参数”中,设置你的网站名称、版权信息等。
- 测试伪静态:
- 在后台添加一篇文章,发布后,查看文章页面的 URL,它应该是
http://你的域名.com/article-1-1.html这样的形式,而不是http://你的域名.com/plus/view.php?aid=1。 - 如果点击这个伪静态链接能正常打开文章,说明 URL 重写配置成功!
- 同样,可以测试栏目列表页、专题页等。
- 在后台添加一篇文章,发布后,查看文章页面的 URL,它应该是
常见问题排查
-
问题1:访问网站出现 404 错误,但首页能打开。
- 原因:
web.config文件未创建或内容有误。 - 解决:检查
web.config文件是否在网站根目录,内容是否与官方提供的完全一致,特别是<rules>标签里的规则。
- 原因:
-
问题2:访问网站出现 500 内部服务器错误。
- 原因:通常是 PHP 权限问题或
php.ini配置错误。 - 解决:检查 IIS 中网站的目录权限是否正确设置了
IIS_IUSRS和SYSTEM,检查php.ini中的extension_dir和date.timezone等关键配置是否正确。
- 原因:通常是 PHP 权限问题或
-
问题3:无法连接到数据库。
- 原因:数据库服务未启动、用户名/密码错误、数据库名错误、或数据库连接地址不是
localhost。 - 解决:确认 MySQL 服务正在运行,用 phpMyAdmin 测试连接,核对所有数据库信息。
- 原因:数据库服务未启动、用户名/密码错误、数据库名错误、或数据库连接地址不是
-
问题4:上传图片或文件失败。
- 原因:
data、uploads等目录的写入权限不足。 - 解决:确保这些目录的
IIS_IUSRS和SYSTEM用户至少有“读取和写入”权限。
- 原因:
按照以上步骤,你应该就能顺利地在 IIS 上搭建并运行 DedeCMS 网站了,祝你成功!
