问题 IIS 7.5:如何让他默认服务所有文件扩展名(不手动添加)?


每次当您在IIS 7.5支持的服务器上放置“新”文件扩展名以进行简单的http下载时,您必须考虑将扩展添加到IIS配置中,这有点令人讨厌!

(例如,提供以.7z格式压缩的文件)

有没有办法告诉IIS“提供任何服务”(就像它是Apache-Webserver中的默认设置)?

谢谢


13027
2017-07-18 10:37


起源



答案:


您应该将以下内容添加到MIME类型:

extension:  .*
MIME type:  application/octet-stream

之后(取决于浏览器)将强制下载每个未知文件。


11
2018-06-09 10:20



如果您的文件没有扩展名,请使用 . 匹配而不是 .* - Carlos Rendon
@CarlosRendon如果适合您,可以添加一个替代答案。 - inf3rno


答案:


您应该将以下内容添加到MIME类型:

extension:  .*
MIME type:  application/octet-stream

之后(取决于浏览器)将强制下载每个未知文件。


11
2018-06-09 10:20



如果您的文件没有扩展名,请使用 . 匹配而不是 .* - Carlos Rendon
@CarlosRendon如果适合您,可以添加一个替代答案。 - inf3rno


您应该将以下内容添加到MIME类型:

对于具有任何扩展名的文件(即foo.somethingcrazyhere)

extension: .* MIME type: application/octet-stream

对于文件  任何扩展名(即SOMETHING_CRAZY_HERE_NO_DOT)

extension: . MIME type: application/octet-stream


6
2017-07-02 19:18





在web.config中尝试以下操作。这基本上告诉IIS忽略扩展白名单。

<configuration>
  <system.webServer>
    <security>
      <requestFiltering>
        <fileExtensions allowUnlisted="true" />
      </requestFiltering>
    </security>
  </system.webServer>
</configuration>

-1
2017-07-18 10:45



它在这里说(iis.net/configreference/system.webserver/security/...)默认值为true,所以我看不出这是如何改变的。 - Patrick J Collins
我在为一家金融公司工作时写了这篇文章 - 他们在他们的网络服务器虚拟机模板上部署了一个machine.config,将其设置为false,所以我没有意识到这一点。 - RB.
这个解决方案不起作用......我正在尝试服务.rdf - inf3rno