至Webserver构造svgz的文件需要http头,让你的浏览器中打开svgz档

IE8以及IE8不支持以下浏览器SVG的。svgz它是svg压缩文件格公式,本文介绍的配置独立的浏览器,但浏览svgz请IE9+要么Firefox,Chrome和其他现代的浏览器打开。

让我们以正确显示浏览器svgz档,必须3况:

1、浏览器支持SVG矢量图格式

2、server设置正确的响应mime-type。即HTTP响应头包括  Content-Type: image/svg+xml

3、server设置正确的响应内容编码类型。HTTP响应头包括  Content-Encoding: gzip

这仅仅适用于通过http的形式从webserver訪问svgz文件,假设要从浏览器打开本地硬盘的svgz文件,貌似眼下Chrome支持。IE/Firefox都不支持。

Apache httpdserver上配置svgz

方法1:在.htaccess文件里加入配置。适用于仅针对单个网站进行设置。

在.htaccess文件里适当位置加入例如以下2行

AddType image/svg+xml svg svgz
AddEncoding gzip svgz

方法2:在httpd.conf文件里加入配置。适用于server全局。也能够对单个主机进行设置。

在httpd.conf 文件里加入例如以下几行

<IfModule mime_module>
    # svg support
    AddType image/svg+xml .svg .svgz
    AddEncoding x-gzip .svgz
</IfModule>
mime-type也能够在mime.types文件里进行配置。AddType AddEncoding也能够在其它.conf文件(比方vhosts.conf)中进行配置。


以上是通过mime_module模块进行配置。事实上也能够通过headers_module模块来配置,演示样例:

<IfModule headers_module>
    <filesmatch ".svgz$">
        header set Content-Type image/svg+xml
        header set Content-Encoding gzip
    </filesmatch>
</IfModule>
详细怎么配。配在哪儿,就看自己的须要来灵活处理了。

PHP程序动态响应svgz文件的样例

<?php
header('Content-Type:image/svg+xml');
header('Content-Encoding:gzip');
echo file_get_contents('test.svgz');
?>

版权声明:本文博主原创文章。博客,未经同意不得转载。

原文地址:https://www.cnblogs.com/hrhguanli/p/4855685.html