选择主题
当前:秋之橙金

IIS每次更新时都要添加默认文档,怎么才能不用每次添加?

日常分享发布者:拖鞋 | 发布时间:2026-10-11 22:02 | 阅读:27 次
标签:技术

每次更新都要重新添加默认文档,确实很麻烦。根本原因是这些配置没有固化下来,可能是发布过程覆盖了配置,或者配置只加在了站点级别,没有在服务器级别生效。

这里有三种方法可以一劳永逸地解决,推荐使用第一种。

方法一:在 Web.config 中固化(推荐,随项目走)

这是最推荐的做法,把默认文档的配置直接写在项目的 Web.config 文件里,这样配置会跟着网站一起发布,不受 IIS 环境重置的影响。

在你的 Web.config 文件里的 <system.webServer> 节点下添加以下配置:

xml
<system.webServer> <defaultDocument enabled="true"> <files> <clear /> <!-- 先清空继承的列表,避免干扰 --> <add value="你的入口文件名" /> <!-- 把这一行换成你实际的默认文档,比如 login --> <add value="index.html" /> <add value="default" /> </files> </defaultDocument> </system.webServer>

关键点:

  • 位置要对:必须放在 <system.webServer> 下面,不是 <system.web>。

  • 顺序很重要:IIS 会按顺序查找,把你最常用的入口文件放在最上面。

  • <clear /> 的作用:清空从服务器继承来的默认列表,让你的配置绝对生效。

方法二:在服务器级别添加(影响所有站点)

如果你管理着多个站点,不想每个都改 Web.config,可以直接在 IIS 的服务器级别添加。

  1. 打开 IIS 管理器。

  2. 在左侧“连接”窗格中,点击最顶层的服务器名称(而不是下面的“网站”)。

  3. 在中间功能区双击 “默认文档”。

  4. 在这里添加你的默认文档。

这样设置后,该服务器上的所有站点都会继承这个默认文档列表,新建站点时无需重复添加。

方法三:使用 AppCmd 命令行(适合批量操作)

如果你习惯用命令行,也可以用 AppCmd 工具快速添加。以管理员身份运行 CMD:

cmd
C:\Windows\System32\inetsrv\appcmd.exe set config "你的网站名称" -section:system.webServer/defaultDocument /+"files.[value='你的入口文件']" /commit:apphost

这个命令的效果等同于方法一,也是把配置写入了站点的配置中。

返回文章列表

评论区

评论需审核通过后显示
  • 暂无评论,来抢沙发吧~