在主机上部署时,在 web.config 中或通过 IIS 处理 MIME 类型



我在我的Orchard CMS项目中使用了一些自定义的opentype字体。因此,我为 otf 类型添加了自定义静态内容扩展:

 <staticContent>
    <mimeMap fileExtension=".otf" mimeType="font/opentype" />
  </staticContent>

一切都很好,直到我尝试在主机上部署所有内容。我尝试了两种不同的托管 smarterasp.com 和 parking.ru。两个网站都返回了内部错误。经过一些实验,我发现当托管的服务器具有自己的app.config时会出现问题,该已经有一些MIME类型绑定,并且它们被我的Web应用程序继承。所以我手动删除了我添加到 web.config 文件的所有内容。 是否应该在我的开发人员计算机上的全局 app.config 上声明此 Mime 类型?为什么 Web 应用程序的本地 web.config 与远程服务器的 web.config 处于冲突状态?避免此类错误的最佳实践是什么?

您可以在 web.config 中删除有问题的全局 app.config mime 类型,如下所示:

 <remove fileExtension=".otf" />
 <mimeMap fileExtension=".otf" mimeType="font/opentype" />

最新更新