IIS Express - 'fileExtension' 的'mimeMap' 上的 HTTP 错误 500.19 0x800700b7 设置为 '.svg'

Posted

技术标签:

【中文标题】IIS Express - \'fileExtension\' 的\'mimeMap\' 上的 HTTP 错误 500.19 0x800700b7 设置为 \'.svg\'【英文标题】:IIS Express - HTTP Error 500.19 0x800700b7 on 'mimeMap' for 'fileExtension' set to '.svg'IIS Express - 'fileExtension' 的'mimeMap' 上的 HTTP 错误 500.19 0x800700b7 设置为 '.svg' 【发布时间】:2014-06-14 14:00:31 【问题描述】:

我正在向我的 Azure 托管 Web 应用程序添加提供 SVG 和 WOFF 文件的功能。我找到了以下说明:

https://blogs.iis.net/richma/archive/2014/01/07/adding-mime-types-to-your-windows-azure-web-site.aspx

我随后将以下文本添加到我的 Web.config 文件中:

<staticContent>
    <mimeMap fileExtension=".json" mimeType="application/json" />
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
    <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
</staticContent>

这在发布到 Azure 时有效。但是,现在每当我尝试在本地调试模式下启动网站时,我都会从 IIS-Express 收到以下错误,以获取网站尝试提供的每个资源。

HTTP 错误 500.19 - 内部服务器错误

请求的页面无法访问,因为该页面的相关配置数据无效。

详细错误信息:

模块:CustomErrorModule 通知发送响应 处理程序静态文件 错误代码0x800700b7 配置错误无法添加类型为“mimeMap”且唯一键属性“fileExtension”设置为“.svg”的重复集合条目 配置文件 snip\web.config 请求的 URL http://snip:14466/resources/img/snip.png 物理路径 C:*snip*\Resources\img*snip*.png 匿名登录方法 匿名用户登录

配置来源:

   58: <mimeMap fileExtension=".json" mimeType="application/json" />
   59: <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
   60: <mimeMap fileExtension=".woff" mimeType="application/x-font-woff"/>

它显然讨厌我的 .svg 的 mimeMap,但这在 Azure 网站中运行良好。在本地运行这些对 Web.config 的更改时,我缺少什么吗?

【问题讨论】:

当然我在发布我的问题后找到this answer:为我解决了这个问题。 你能把你的答案贴在这里吗,或者如果它真的是重复的,可以删除这个问题 @mmohab 我的 8 小时等待窗口一到,我就会发布答案。我想保持这个问题并回答它。如果这不是一个可怕的做法。在发布问题之前,我非常努力地寻找答案。我认为有另一个问题可能会帮助人们在未来更快地找到解决方案。您对此有何看法? 如果您的问题与其他问题相同,那么您可能应该删除它。否则,如果您的问题略有不同,那么您可以保留它。如果您决定保留它,很高兴提供并回答它。 【参考方案1】:

当然,我在发布我的问题后找到了这个答案:

Adding <mimeMap> entry Causes 500 for Other Static Content on IIS Express

所以问题是我的本地 IIS 配置已经加载了模块,而生产环境没有。因此,要解决这两种环境的问题,您需要确保在加载 mimeMap 之前将其卸载。

修复的代码如下:

<staticContent>
    <remove fileExtension=".json"/>
    <mimeMap fileExtension=".json" mimeType="application/json" />
    <remove fileExtension=".svg"/>
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
    <remove fileExtension=".woff"/>
    <mimeMap fileExtension=".woff" mimeType="application/x-font-woff"/>
</staticContent>

希望这可以帮助其他人避免浪费时间寻找解决方案。

【讨论】:

感谢您提出问题。显然它对 SEO 更友好,更容易找到。 您可能还想在 .json 映射之前添加 ,以防您的服务器环境之一已经映射。【参考方案2】:

我发现,如果您在托管您的应用程序的目录中的 Web.Config 和默认的 %UserProfile%\Documents\IISExpress\config\applicationhost.config 之间有 任何 个 mimeMap 项目重复,它们都会失败。

同样的解决方案有效:确保&lt;remove&gt; 每个 &lt;mimeMap&gt; 条目。

【讨论】:

以上是关于IIS Express - 'fileExtension' 的'mimeMap' 上的 HTTP 错误 500.19 0x800700b7 设置为 '.svg'的主要内容,如果未能解决你的问题,请参考以下文章

IIS/IIS Express中遇到的证书问题

windows7安装了iis8 express 怎么找到管理器

IIS Express

gzip 压缩 & iis express/iis?

给 IIS Express 配置虚拟目录

什么是 Kestrel(与 IIS / Express 相比)