【问题标题】:Why is IIS 10 default document not working for a static file?为什么 IIS 10 默认文档不适用于静态文件?
【发布时间】:2021-06-07 10:14:41
【问题描述】:

我有一个 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>

【问题讨论】:

    标签: iis-10 default-document staticfilehandler


    【解决方案1】:

    啊。发现问题。我的静态文件处理程序有 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. 在“映射”选项卡上,单击“仅当请求映射到时才调用处理程序:”,然后单击“文件或文件夹”并确定返回。

    【讨论】:

    • 我很高兴问题已经解决。如果您能接受您的解决方案作为答案,我们将不胜感激。
    猜你喜欢
    • 1970-01-01
    • 2015-05-02
    • 2019-09-27
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    • 1970-01-01
    • 1970-01-01
    • 2011-11-05
    相关资源
    最近更新 更多