我正在尝试使用 css 将“.svg”图像设置为背景图像,但它不起作用。该 url 有效并返回 200 状态代码并适用于“.png”图像。
问题是什么?
您的 IIS 很可能未将 SVG 配置为内容类型,请尝试添加
<staticContent>
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
</staticContent>
在<system.webServer>
您的 web.config 范围内。
当然,这只有在您的应用程序是提供svg
. 如果svg
不包含在您的应用程序中,而是在 Web 服务器的单独目录中,您需要将相同的映射添加到您的 Web 服务器,而不是在“mime-types”选项卡中。
试试这个 - 你的应用程序/网站在 IIS 管理器的默认设置下
然后“添加”->{ .svg : image/svg+xml }
来自 web.config
<system.webServer>
<staticContent>
<remove fileExtension=".svg" />
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
</staticContent>
</system.webServer>
或在 IIS 中转到 MIME 类型并添加文件扩展名:.svg MIME 类型:image/svg+xml
就我而言,我在范围下的 applicationHost.config 文件(通常位于 C:\Windows\System32\inetsrv\config)中包含了我想要的所有 mime 类型<system.webServer>
,就像Joachim Isaksson提到的那样。这允许我所有的 IIS 站点继承相同的 mime 类型,并在出现问题时为您提供一个位置来更改它们。
以防万一,如果有人想使用 IIS 管理器,请在“连接”树上选择“顶部节点”(通常是您所在机器的名称),然后在右侧找到“MIME 类型” IIS 的部分 - 双击相同的部分。您应该会看到“条目类型”为“本地”的所有文件类型的列表。添加上面帖子中提到的“.svg”类型(修改了“Markaius”提到的相同文件)。这使得可以为机器上的任何应用程序“继承”相同的 MIME 类型。