在IIS.的web.config中添加MIME映射

Mar*_*erl 177 asp.net configuration iis-express mime-types

我需要为IIS Express添加.woff文件扩展名的新MIME映射.

如果我将以下代码段添加到IIS Express的"applicationhost.config",它可以正常工作:

<staticContent lockAttributes="isDocFooterFileName">
    <mimeMap fileExtension=".woff" mimeType="font/x-woff" />
    ...
Run Code Online (Sandbox Code Playgroud)

但我真的想把它添加到我的"web.config"中,这样​​每个开发人员都不需要在本地更改他们的"applicationhost.config".

所以我再次从"applicationhost.config"文件中删除它,并将以下代码段添加到项目的"web.config"中:

<system.webServer>
  ...
  <staticContent>
    <mimeMap fileExtension=".woff" mimeType="font/x-woff" />
  </staticContent>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

不幸的是它似乎没有那样工作,因为当我尝试访问.woff文件时,我最终得到HTTP 404.3错误.

我究竟做错了什么?

Mar*_*erl 309

将它放在"web.config"中工作正常.问题是我的MIME类型错误.而不是font/x-wofffont/x-font-woff必须是application/font-woff:

<system.webServer>
  ...
  <staticContent>
    <remove fileExtension=".woff" />
    <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
  </staticContent>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

另请参阅有关MIME类型的答案:https://stackoverflow.com/a/5142316/135441

2013年4月10日更新

Spec现在是推荐,MIME类型正式: application/font-woff

  • 根据链接,更新的mime类型现在应该是:application/font-woff(而不是弃用的application/x-font-woff). (5认同)
  • Fwiw,[如何使用IIS7 Web.config添加mime类型](http://blogs.iis.net/bills/archive/2008/03/25/how-to-add-mime-types-with-iis7-web -config.aspx)和[IIS7中嵌入.woff字体文件的404错误](http://www.dirigodev.com/blog/web-development/404-errors-in-iis7-for-embedded-woff-font -files /).瞧,虽然晚了一年. (2认同)

Haw*_*awk 59

如果有人遇到错误这样的错误:无法添加具有唯一键属性的类型'mimeMap'的重复集合条目和/或其他脚本在执行此修复时停止工作,可能有助于首先删除它,如下所示:

<staticContent>
  <remove fileExtension=".woff" />
  <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
</staticContent>
Run Code Online (Sandbox Code Playgroud)

至少那解决了我的问题

  • 将此添加到我喜欢的IIS功能列表中. (3认同)

Moh*_*bdo 18

<system.webServer>
     <staticContent>
      <remove fileExtension=".woff"/>
      <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
      <mimeMap fileExtension=".woff2" mimeType="font/woff2" />
    </staticContent>
  </system.webServer>
Run Code Online (Sandbox Code Playgroud)


Jay*_*ayC 6

我知道这是一个老问题,但......

我只是注意到我的IISExpress实例没有提供woff文件,所以我没有搜索(发现这个),然后发现:

http://www.tomasmcguinness.com/2011/07/06/adding-support-for-svg-to-iis-express/

我想我的安装支持SVG,因为我没有遇到过这个问题.但这些指令对woff来说是可以轻易修改的:

  • 使用管理员权限打开控制台应用程序.
  • 导航到IIS Express目录.它位于Program Files或Program Files(x86)下
  • 运行命令:

    appcmd set config/section:staticContent/+ [fileExtension ='woff',mimeType ='application/x-woff']

解决了我的问题,我没有弄乱一些糟糕的配置(就像我不得不添加对动词PUTDELETE动词的支持).好极了!