本文介绍了如何使用的.htaccess服务于gziped字体? (无MOD GZIP或放气)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面的东西我尝试按随机顺序清单:

  AddHandler的应用程序/ X的httpd  -  PHP .otf
将AddType
default_mimetype
AUTO_ prepend_file =otf.php
zlib.output_com pression =开
output_handler = ob_gzhandler
标题(内容类型:应用程序/八位字节流);
 

即使使用zlib的获得gzip压缩了服务器的所有PHP文件,替换.otf扩展名的.php也不能工作。

解决方案

使用的.htaccess,你可以做这样的假设字体文件是 fontfile.otf.gz ,浏览器请求,作为 fontfile.otf

  RewriteEngine叙述上

#Check浏览器的接受编码,删除它的力量回报gzip压缩1
。的RewriteCond%{HTTP:接受编码}gzip压缩*紧缩|紧缩* GZIP。

#check文件名的endsWith OTF
的RewriteCond%{} REQUEST_FILENAME\。(OTF)$

对.gz的文件名#check实存
的RewriteCond%{} REQUEST_FILENAME -s名为.gz

#rewrite它.otf.gz
重写规则^ * $%{REQUEST_URI}。广州[L]

#UPDATE一些响应头
< FilesMatch\ .otf \。广州$>
    AddEncoding GZIP。广州
    ForceType指令text / plain的
< / FilesMatch>
 

如果字体文件和网站的跨域,你需要把访问控制 - 允许 - 原产地,Firefox将不加载的。

 标题设置访问控制 - 允许 - 原产地*
 

Here's a list of stuff I tried in random order:

AddHandler application/x-httpd-php .otf
AddType
default_mimetype
auto_prepend_file = "otf.php"
zlib.output_compression = On
output_handler = ob_gzhandler
header("Content-type: application/octet-stream");

Even though all the PHP files of the server get gzipped using zlib, replacing the .otf extension by .php didn't work either.

解决方案

With .htaccess, you could do like this, assuming font file is fontfile.otf.gz, browser request that as fontfile.otf

RewriteEngine On

#Check for browser's Accept-Encoding, remove it for force return gzipped one
RewriteCond "%{HTTP:Accept-Encoding}" "gzip.*deflate|deflate.*gzip"

#check file name is endswith otf
RewriteCond %{REQUEST_FILENAME} "\.(otf)$"

#check existance of .gz file name
RewriteCond %{REQUEST_FILENAME}.gz -s

#rewrite it to .otf.gz
RewriteRule ^.*$ %{REQUEST_URI}.gz [L]

#update some response header
<FilesMatch "\.otf\.gz$">
    AddEncoding gzip .gz
    ForceType "text/plain"
</FilesMatch>

And if font file and web site is cross-domain, you need to put Access-Control-Allow-Origin, firefox will not load font objects cross-domain.

Header set Access-Control-Allow-Origin *

这篇关于如何使用的.htaccess服务于gziped字体? (无MOD GZIP或放气)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-24 02:59