每次更新都要重新添加默认文档,确实很麻烦。根本原因是这些配置没有固化下来,可能是发布过程覆盖了配置,或者配置只加在了站点级别,没有在服务器级别生效。
这里有三种方法可以一劳永逸地解决,推荐使用第一种。
方法一:在 Web.config 中固化(推荐,随项目走)
这是最推荐的做法,把默认文档的配置直接写在项目的 Web.config 文件里,这样配置会跟着网站一起发布,不受 IIS 环境重置的影响。
在你的 Web.config 文件里的 <system.webServer> 节点下添加以下配置:
<system.webServer>
<defaultDocument enabled="true">
<files>
<clear /> <!-- 先清空继承的列表,避免干扰 -->
<add value="你的入口文件名" /> <!-- 把这一行换成你实际的默认文档,比如 login -->
<add value="index.html" />
<add value="default" />
</files>
</defaultDocument>
</system.webServer>
关键点:
顺序很重要:IIS 会按顺序查找,把你最常用的入口文件放在最上面。
方法二:在服务器级别添加(影响所有站点)
如果你管理着多个站点,不想每个都改 Web.config,可以直接在 IIS 的服务器级别添加。
打开 IIS 管理器。
在左侧“连接”窗格中,点击最顶层的服务器名称(而不是下面的“网站”)。
在中间功能区双击 “默认文档”。
在这里添加你的默认文档。
这样设置后,该服务器上的所有站点都会继承这个默认文档列表,新建站点时无需重复添加。
方法三:使用 AppCmd 命令行(适合批量操作)
如果你习惯用命令行,也可以用 AppCmd 工具快速添加。以管理员身份运行 CMD:
C:\Windows\System32\inetsrv\appcmd.exe set config "你的网站名称" -section:system.webServer/defaultDocument /+"files.[value='你的入口文件']" /commit:apphost
拖鞋-Life
拖鞋-Life
百度