在 web.config 中注册 MIME 类型不起作用?

Posted

技术标签:

【中文标题】在 web.config 中注册 MIME 类型不起作用?【英文标题】:Registering MIME type in web.config not working? 【发布时间】:2015-01-05 05:22:06 【问题描述】:

我在 .woff 文件上遇到了 404 错误消息的问题,似乎可以从 here 轻松修复。我选择在我的 web.config 文件中注册 MIME 类型,这样我就不必记住在部署我正在构建的应用程序时使用新注册来更新生产站点。

我在 web.config 文件中添加了以下几行:

<system.webServer>
    <staticContent>
        <remove fileExtension=".woff" />
        <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
    </staticContent>
    ...
</system.webServer>

...然后我部署了。但是,与我读过的所有文档相反,这似乎不起作用。我仍然收到 404 错误。手动更新 IIS 站点(2008R2,IIS 7.5)并注册 MIME 类型解决了这个问题,但它肯定不想与我的 web.config 设置配合得很好。

我是否缺少一个额外的步骤来让它仅在 web.config 中注册?

【问题讨论】:

【参考方案1】:

尝试替换,

<mimeMap fileExtension=".woff" mimeType="application/font-woff" />

由,

<mimeMap fileExtension=".woff" mimeType="font/x-woff" />

【讨论】:

【参考方案2】:

@Venkat(由于代表太低无法发表评论) 考虑到官方的 MIME 类型是 application/font-woff,那将是愚蠢的。

来源:http://www.w3.org/TR/WOFF/#appendix-b

【讨论】:

以上是关于在 web.config 中注册 MIME 类型不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

xml 在ASP.NET项目的Web.config中定义Web字体Mime类型,以确保Web服务器正确处理为您的字体提供服务。

注册 ServiceWorker 失败:脚本具有不受支持的 MIME 类型 ('text/html')

为啥 IIS 需要声明 mime 类型?

Flutter 无法使用脚本为范围注册 ServiceWorker,该脚本具有不受支持的 MIME 类型

使用 ASP.NET 开发服务器设置 MIME 类型

有没有办法通过注册 mime 类型来避免 ie9 中的“打开另存为”对话框?