关闭

为Web服务器配置svgz文件需要的http头,让浏览器可以打开svgz文件

标签: svgzapache.htaccesssvg浏览器
5017人阅读 评论(0) 收藏 举报
分类:

IE8以及IE8以下的浏览器是不支持SVG的,svgz是svg文件的压缩格式,本文介绍的配置与浏览器无关,但浏览svgz文件请在IE9+或Firefox,Chrome等其他现代浏览器打开。

要让浏览器能正常显示svgz文件,需要3个条件:

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

2、服务器设置正确的响应mime-type,即HTTP响应头包含  Content-Type: image/svg+xml

3、服务器设置正确的响应内容编码类型,HTTP响应头包含  Content-Encoding: gzip

这只适用于通过http的形式从web服务器访问svgz文件,如果要从浏览器打开本地硬盘的svgz文件,貌似目前Chrome支持,IE/Firefox都不支持。

Apache httpd服务器上配置svgz

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

在.htaccess文件中适当位置添加如下2行

AddType image/svg+xml svg svgz
AddEncoding gzip svgz

方法2:在httpd.conf文件中添加配置。适用于服务器全局,也可以对单个主机进行设置。

在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');
?>

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1126750次
    • 积分:11941
    • 等级:
    • 排名:第1294名
    • 原创:166篇
    • 转载:74篇
    • 译文:4篇
    • 评论:255条
    最新评论