【问题标题】:SVG images not displaying on certain web serversSVG 图像未显示在某些 Web 服务器上
【发布时间】:2011-10-12 15:40:51
【问题描述】:

我在某些服务器上的 html 文件中显示 .svg 图像时遇到问题。这让我感到困惑,因为我认为浏览器决定是否渲染 svg 图像,但浏览器保持不变。我正在使用以下字符串来显示它们:

<img src='path/to/image.svg' alt='image' /> 

在一台 RHEL6 服务器上显示,在另一台 RHEL5 服务器上则不显示。 httpd 的版本分别为 2.2.15-9.el6 和 2.2.3-53.el5。 Web 浏览器与 Google Chrome 12.0.742.122 保持一致。服务器之间是否存在决定是否渲染 svg 图像的东西?

错误日志不报告任何内容,访问日志将 .svg 文件的状态设为 200 和 304。

【问题讨论】:

    标签: svg apache


    【解决方案1】:

    在此处插入 apache 选项

    `<filesMatch "\.(svg|svgz)$">
        FileETag None
        <ifModule mod_headers.c>
            Header set Content-type "image/svg+xml"
        </ifModule>
    </filesMatch>`
    

    &lt;Directory "/LocalServer/cgi-bin"&gt; 行前

    【讨论】:

      【解决方案2】:

      jbeard4 的答案是正确的,但我想补充一下:为了修复,您必须让您的服务器以image/svg+xml 的形式提供 SVG 图像。在 Apache 上,您可以通过将这两行添加到 .htaccess 来做到这一点:

      AddType image/svg+xml svg svgz
      AddEncoding gzip svgz
      

      通过http://kaioa.com/node/45

      【讨论】:

        【解决方案3】:

        SVG 图像应该使用 MIME 类型的 image/svg+xml 提供,所以我建议先检查一下。检查所提供的 MIME 类型的一种方法是使用 wget 获取图像。这是 wget 的输出示例。注意它显示 MIME 类型的位置:

        jacob@jacob-laptop:~/tmp$ wget http://croczilla.com/bits_and_pieces/svg/samples/butterfly/butterfly.svg
        --2011-07-25 11:32:04--  http://croczilla.com/bits_and_pieces/svg/samples/butterfly/butterfly.svg
        Resolving croczilla.com... 77.92.68.237
        Connecting to croczilla.com|77.92.68.237|:80... connected.
        HTTP request sent, awaiting response... 200 OK
        Length: 31187 (30K) [image/svg+xml]
        Saving to: `butterfly.svg'
        
        100%[====================================================================>] 31,187      84.5K/s   in 0.4s    
        

        如果在这两种情况下MIME类型都是image/svg+xml,那么我会比较两个文档的内容,看看它们之间是否有区别。

        此外,虽然这不能回答您的问题,但您还应该注意,并非所有浏览器都支持使用 HTML img 标签来呈现 SVG。这样做的原因是,通常情况下,img 标签使用的安全性低于 object 或 embed 标签。你可以在这里阅读更多信息:Reliably detecting <img> tag support for SVG

        【讨论】:

        • 或者,curl -I http://foo.com/bar.svg 只会获取并显示标题。
        猜你喜欢
        • 2018-01-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-07
        相关资源
        最近更新 更多