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'); ?>
时间: 2024-12-17 16:30:54