You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将IIS 7的URL重写规则迁移至Windows Server 2019的IIS 10

解决Windows Server 2008 IIS7到2019的URL重写规则迁移问题

问题回顾

  • 旧服务器环境:Windows Server 2008 + IIS7,搭载SQL Server 2008~2019、Visual SVN Server;新服务器为Windows Server 2019,需迁移旧IIS的全部URL重写规则
  • 尝试操作:用appcmd add backup [name]备份旧IIS配置,复制到新服务器后执行appcmd restore backup [name]恢复,导致IIS无法启动,报错:Creating an instance of the COM component with CLSID FROM the IClassFactory failed due to the following error: 800700b7
  • 后续操作:删除\inetsrv\config\schema下的NetFx40_IIS_schema_update.xml和NetFx45_IIS_schema_update.xml后,IIS可启动但状态异常:仅URL重写规则迁移成功,站点、应用池设置丢失,无法添加或重启站点

针对性解决方案

方案1:单独迁移URL重写规则(推荐,规避版本兼容冲突)

全量备份恢复会触发IIS7与IIS10的配置 schema 冲突,单独导出导入重写规则更稳妥:

  1. 旧服务器导出规则
    • 打开IIS管理器,选中目标站点,双击「URL重写」
    • 右侧「操作」面板点击「导出规则」,保存为XML文件(如rewrite_rules.xml)
  2. 新服务器导入规则
    • 先确认新服务器安装了URL重写模块2.0(Win2019默认未预装,需在服务器管理器-添加角色功能-Web服务器-应用开发中勾选安装)
    • 打开IIS管理器,选中对应站点,双击「URL重写」
    • 右侧「操作」面板点击「导入规则」,选择导出的XML文件完成导入
  3. 批量导出所有站点规则
    若要一次性导出所有站点的重写规则,旧服务器执行命令:
    appcmd list config /section:system.webServer/rewrite /xml > all_rewrite_rules.xml
    
    新服务器执行命令导入:
    appcmd set config /in < all_rewrite_rules.xml
    
    注意:执行前需确保新服务器站点结构与旧服务器一致,避免规则匹配失效。

方案2:修复全量备份后的IIS异常

若已执行全量备份导致异常,按以下步骤修复:

  1. 恢复缺失的schema文件
    • 从同版本Windows Server 2019服务器复制NetFx40_IIS_schema_update.xml和NetFx45_IIS_schema_update.xml到C:\Windows\System32\inetsrv\config\schema目录
    • 或通过重新安装.NET Framework 3.5/4.8组件恢复文件(服务器管理器-添加角色功能-勾选对应.NET版本)
  2. 重置IIS基础配置
    执行命令重置IIS默认配置:
    appcmd reset config
    
    之后手动重新配置站点、应用池,再按方案1导入URL重写规则。

关键注意事项

  • IIS7与IIS10的配置schema存在差异,全量备份恢复极易引发COM组件注册冲突(800700b7错误多因组件版本不兼容或重复注册导致)
  • 迁移前需确认新服务器安装了旧服务器对应的IIS模块(如ASP.NET、URL重写等)
  • SQL Server、Visual SVN Server需单独迁移:SQL用备份还原+迁移登录账户,Visual SVN直接复制仓库目录后重新配置服务

内容的提问来源于stack exchange,提问作者ayaayy7643

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 11:40:59