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

本文介绍了如何让浏览器正确显示SVGZ文件,包括在Apache httpd服务器上配置SVGZ所需的HTTP头,涉及.htaccess和httpd.conf文件的修改,以及PHP程序动态响应SVGZ文件的方法。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值