【发布时间】:2011-05-16 21:10:29
【问题描述】:
所以在 IIS 7 中,如果某个扩展没有特定的 MIME 定义,即使您可以在目录列表中看到它,它也会拒绝为它提供服务 (404)。我确定这是一个众所周知的问题,但是有没有办法为未知文件类型设置通配符或默认操作?我希望默认情况下提供所有内容供下载,就像我使用过的所有其他网络服务器一样。
【问题讨论】:
所以在 IIS 7 中,如果某个扩展没有特定的 MIME 定义,即使您可以在目录列表中看到它,它也会拒绝为它提供服务 (404)。我确定这是一个众所周知的问题,但是有没有办法为未知文件类型设置通配符或默认操作?我希望默认情况下提供所有内容供下载,就像我使用过的所有其他网络服务器一样。
【问题讨论】:
为扩展名为 * 且类型为 application/octet-stream 的文件添加新的 MIME 类型。这将为所有没有 MIME 类型的文件提供默认 MIME 类型并绕过阻止。
然而,风险在于您最终会共享您的机密数据库、配置文件等,因此在打开服务器以供所有下载之前,请确保您知道自己在做什么。
【讨论】:
我相信您只需要在 Internet 信息服务管理器中编辑您的网站,然后双击“请求过滤”图标并在此处随意编辑即可。
mime 类型配置不允许/禁止下载文件;它只是告诉 IIS 当你下载它时要在标头中添加什么。
【讨论】:
+1 @H2教授
但这是代码(在本例中为 IIS 7+ 的 web.config):
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension="*" mimeType="application/octet-stream" />
</staticContent>
</system.webServer>
</configuration>
【讨论】: