织梦 iis 配置文件

99ANYc3cd6
预计阅读时长 25 分钟
位置: 首页 织梦建站 正文

织梦本身是基于 PHP + MySQL 开发的,因此在 IIS 上的配置核心是 配置 PHP 环境配置 IIS 以正确解析 PHP,还需要处理织梦特有的 URL 静态化(伪静态)规则。

织梦 iis 配置文件
(图片来源网络,侵删)

整个过程可以分为以下几个关键步骤:


第一步:安装必要组件

在配置任何文件之前,请确保您的 Windows Server 和 IIS 已经安装了以下组件:

  1. IIS (Internet Information Services): 作为 Web 服务器。
  2. URL Rewrite Module: 这是实现伪静态的核心模块,由微软官方提供,免费且强大,没有它,织梦的静态化功能将无法在 IIS 上实现。
  3. PHP: 织梦的运行环境,建议使用稳定版本,如 PHP 7.4 或 8.0(请参考织梦官方对 PHP 版本的兼容性说明)。
  4. MySQL 或 MariaDB: 织梦的数据存储。

第二步:配置 PHP 环境

这是最基础也是最关键的一步。

  1. 解压 PHP: 将下载的 PHP ZIP 包解压到一个固定目录,C:\php

    织梦 iis 配置文件
    (图片来源网络,侵删)
  2. 配置 php.ini:

    • 进入 C:\php 目录,找到 php.ini-development 文件,将其重命名为 php.ini

    • 用记事本或其他文本编辑器打开 php.ini,修改或取消注释以下几项关键配置:

      ; 开启扩展目录
      extension_dir = "ext"
      ; 开启必要的织梦所需扩展 (去掉前面的分号 ;)
      extension=curl
      extension=fileinfo
      extension=gd
      extension=mysqli
      extension=openssl
      extension=pdo_mysql
      extension=zip
      ; 设置时区为中国
      date.timezone = PRC
      ; 上传文件相关配置
      upload_max_filesize = 8M
      post_max_size = 8M
  3. 将 PHP 添加到系统环境变量 (可选但推荐):

    织梦 iis 配置文件
    (图片来源网络,侵删)
    • C:\php 目录添加到系统的 Path 环境变量中,这样可以在命令行下直接使用 php 命令。
  4. 配置 IIS 处理程序映射:

    • 打开 IIS 管理器
    • 在左侧选择您的网站。
    • 双击 “处理程序映射”
    • 在右侧操作栏中点击 “添加模块映射...”
    • 填写以下信息:
      • 请求路径: *.php
      • 模块: FastCgiModule
      • 可执行文件: 点击右侧的 "..." 浏览,选择 C:\php\php-cgi.exe 的路径。
      • 名称: FastCgi-php (可以自定义)
    • 点击“确定”,如果提示添加 FastCgi 模块,请点击“是”。

完成这一步后,您的 IIS 已经可以解析 PHP 文件了,可以创建一个 info.php 文件(内容为 <?php phpinfo(); ?>)来测试。


第三步:配置织梦数据库并上传文件

  1. 创建数据库: 在 MySQL 或 MariaDB 中,为您的织梦站点创建一个新的数据库和一个有全部权限的用户。
  2. 上传织梦程序: 将下载的织梦程序包解压,并通过 FTP 或 IIS 管理器将所有文件上传到您的网站根目录(C:\inetpub\wwwroot\ 下的某个子文件夹)。
  3. 运行安装向导: 在浏览器中访问 http://您的域名/install/,然后按照提示进行安装,在数据库配置步骤,填入您刚刚创建的数据库名、用户名和密码。

第四步:配置 URL 重写(伪静态)- 核心部分

这是在 IIS 上配置织梦最关键的一步,目的是将形如 /a/3.html 的 URL 请求,重写为服务器能识别的 /plus/view.php?arcid=3 格式。

使用织梦后台自动生成(推荐)

这是最简单、最不容易出错的方法。

  1. 登录您的织梦后台。
  2. 进入 “系统” -> “系统基本参数”
  3. 在左侧菜单选择 “核心设置”
  4. 找到 “是否使用伪静态” 选项,将其设置为 “是”
  5. 向下滚动,找到 “伪静态规则” 文本框,这里提供了不同服务器环境的规则,请选择 “IIS 伪静态” 的规则并复制。
  6. 点击页面底部的 “保存” 按钮。
  7. 织梦会尝试自动将规则写入到网站根目录下的 web.config 文件中,如果成功,则无需手动操作,如果失败,请进入方法二。

手动创建 web.config 文件

如果自动生成失败,或者您想手动控制,可以按照以下步骤操作。

  1. 在您的网站根目录下,创建一个名为 web.config 的文件。
  2. 复制并粘贴到该文件中,这是织梦官方提供的、适用于 IIS 7/7.5/8/8.5/10 的标准伪静态规则。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="织梦CMS Rewrite" stopProcessing="true">
                    <match url="^(.*)$" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="index.php/{R:1}" />
                </rule>
                <!-- 针对栏目、文章等页面的特定规则,让规则更精确 -->
                <rule name="Category and Article" stopProcessing="true">
                    <match url="^(.*)/a/([0-9]+).html$" />
                    <action type="Rewrite" url="/plus/view.php?arcid={R:2}" />
                </rule>
                <rule name="Category" stopProcessing="true">
                    <match url="^(.*)/list/([0-9]+).html$" />
                    <action type="Rewrite" url="/plus/list.php?tid={R:2}" />
                </rule>
                <rule name="Search" stopProcessing="true">
                    <match url="^(.*)/search.html$" />
                    <action type="Rewrite" url="/plus/search.php" />
                </rule>
                <rule name="Tags" stopProcessing="true">
                    <match url="^(.*)/tags/([^-]+).html$" />
                    <action type="Rewrite" url="/plus/tags.php?/{R:2}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

说明:

  • 上面提供的规则是一个比较完整的版本,包含了常用页面的重写。
  • 您也可以使用织梦后台给出的最简规则:
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <rewrite>
                <rules>
                    <rule name="dedecms" stopProcessing="true">
                        <match url="^(.*)$" />
                        <conditions logicalGrouping="MatchAll">
                            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        </conditions>
                        <action type="Rewrite" url="index.php/{R:1}" />
                    </rule>
                </rules>
            </rewrite>
        </system.webServer>
    </configuration>
  1. 保存 web.config 文件并将其上传到网站根目录,覆盖掉可能存在的旧文件。

第五步:设置目录权限

为了确保织梦后台的“文件管理”和“图片集”等功能可以正常使用,需要给特定目录赋予写入权限。

  1. 在 IIS 管理器中,选择您的网站。
  2. “功能视图” 下,双击 “配置编辑器”
  3. “节” 下拉菜单中选择 “system.webServer/security/authorization”
  4. 点击右侧的“...”按钮,进入“授权”设置。
  5. 点击 “添加允许条目...”
  6. 操作: 选择 "读取""写入"
  7. 角色: 输入 IUSR (这是 IIS 默认的匿名用户账户)。
  8. 点击“确定”,这会给整个网站目录添加写入权限。

更安全的做法:只给特定目录添加写入权限。

  • 在 IIS 管理器中,直接在右侧的 “编辑权限...” 中,为以下目录设置 IUSR 用户的“读取和执行”、“列出文件夹内容”、“读取”和“写入”权限:
    • /data (存放配置文件和缓存)
    • /uploads (用户上传的文件)
    • /a (专题目录)
    • /special (专题目录)
    • /templets (模板目录,如果模板需要动态生成)
    • /plus (附件目录)

第六步:常见问题排查

  • 问题: 404 Not Found,访问栏目或文章页面时提示“无法找到该页”。

    • 排查:
      1. URL Rewrite 模块是否安装?去 "服务器管理器" -> "功能" 中查看。
      2. web.config 文件是否存在且内容正确?检查规则是否为 IIS 版本。
      3. 处理程序映射是否正确配置?确保 *.php 已经指向 FastCgiModule
      4. IIS 的“默认文档”中是否包含 index.php?如果没有,添加进去。
  • 问题: 后台无法上传图片或文件,提示“没有权限”。

    • 排查: 目录权限 设置是否正确,确保 IUSR 用户对 /uploads 等目录有写入权限。
  • 问题: 首页可以访问,但点击任何链接都跳转到首页。

    • 排查: 这通常是 web.config 中的伪静态规则有误,导致所有请求都被重定向到 index.php,请仔细检查 web.config 文件中的 <rule> 部分,确保规则正确。
  • 问题: 页面出现大量乱码或空白。

    • 排查: 检查 php.ini 文件中的 extension_dirdate.timezone 设置是否正确,确保 mysqli 等必要扩展已开启。

IIS 配置织梦的要点可以归结为:

  1. 环境: IIS + URL Rewrite 模块 + PHP。
  2. 核心: 正确配置 FastCGI 处理程序映射 以解析 PHP。
  3. 关键: 创建正确的 web.config 文件以实现伪静态。
  4. 保障: 设置正确的 目录权限 以支持文件上传和缓存。
  5. 辅助: 利用织梦后台的 “系统基本参数” 进行配置和生成规则。

按照以上步骤一步步操作,就能成功在 IIS 服务器上部署并运行织梦网站。

-- 展开阅读全文 --
头像
织梦CMS模板下载地址哪里找?
« 上一篇 今天
织梦列表栏目如何保持稳定?
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码

目录[+]