0

我有一个 IIS 10 站点,我可以从根目录下载文档 index.html 而不会出现问题。但是,当我尝试使用默认文档功能下载相同的文件时,我得到状态代码 404.0,并且看起来 IIS 没有尝试将请求从 / 转换为 /index.html。

我的 web.config 文件:

        <defaultDocument enabled="true">
            <files>
                <clear />
                <add value="index.html" />
            </files>
        </defaultDocument>
        <handlers>
            <add name="Static File" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="File" requireAccess="Script" />
            <add name="DefaultDocument" path="*" verb="*" modules="DefaultDocumentModule" resourceType="File" />
        </handlers>
4

1 回答 1

0

啊。发现问题。我的静态文件处理程序有 resourceType="File",所以只为显式命名的文件调用。它应该如下所示:

        <handlers>
            <add name="Static File" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Script" />
        </handlers>

这似乎是默认文档正常工作所必需的。

使用 IISM 的 GUI,它是:

  1. 单击左侧“连接”树中的站点。
  2. 双击树右侧面板中的“处理程序映射”。
  3. 双击静态文件处理程序(如果不存在,则添加它)。
  4. 点击“请求限制...”
  5. 在“映射”选项卡上,单击“仅当请求映射到时才调用处理程序:”,然后单击“文件或文件夹”并确定返回。
于 2021-03-09T14:00:19.253 回答