38

我正在尝试使用 css 将“.svg”图像设置为背景图像,但它不起作用。该 url 有效并返回 200 状态代码并适用于“.png”图像。

问题是什么?

4

5 回答 5

72

您的 IIS 很可能未将 SVG 配置为内容类型,请尝试添加

<staticContent>
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
</staticContent>

<system.webServer>您的 web.config 范围内。

当然,这只有在您的应用程序是提供svg. 如果svg不包含在您的应用程序中,而是在 Web 服务器的单独目录中,您需要将相同的映射添加到您的 Web 服务器,而不是在“mime-types”选项卡中。

于 2012-09-08T06:44:33.033 回答
28

试试这个 - 你的应用程序/网站在 IIS 管理器的默认设置下

IIS 管理器下的默认站点

然后“添加”->{ .svg : image/svg+xml }

于 2014-08-02T10:28:09.770 回答
14

来自 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

于 2015-09-30T06:22:25.720 回答
1

就我而言,我在范围下的 applicationHost.config 文件(通常位于 C:\Windows\System32\inetsrv\config)中包含了我想要的所有 mime 类型<system.webServer>,就像Joachim Isaksson提到的那样。这允许我所有的 IIS 站点继承相同的 mime 类型,并在出现问题时为您提供一个位置来更改它们。

于 2014-04-03T17:48:01.580 回答
1

以防万一,如果有人想使用 IIS 管理器,请在“连接”树上选择“顶部节点”(通常是您所在机器的名称),然后在右侧找到“MIME 类型” IIS 的部分 - 双击相同的部分。您应该会看到“条目类型”为“本地”的所有文件类型的列表。添加上面帖子中提到的“.svg”类型(修改了“Markaius”提到的相同文件)。这使得可以为机器上的任何应用程序“继承”相同的 MIME 类型。

于 2020-01-20T11:13:06.500 回答