.htaccess的,你可以做这样的假设字体文件是fontfile.otf.gz
,浏览器请求,作为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>
如果字体文件和网站的跨域,你需要把Access-Control-Allow-Origin
, Firefox将不会加载font objects cross-domain。
在壁虎,网页字体都受到了 同一域限制(字体文件 必须在同一个域中的页面 使用它们),除非HTTP访问 控件用来放松这个 限制。
Header set Access-Control-Allow-Origin *
来源
2010-01-11 13:54:25
YOU
THX回答//我复制粘贴,并尝试了//它不工作(字体是没有得到gzip压缩)使用Firebug在Firefox 3.5 //该ForceType指令不工作或者检查(申请/vnd.oasis.opendocument.formula-template)//我必须替换REQUEST_FILENAME或REQUEST_URI吗? – Knu 2010-01-11 14:06:01
你有提前制作的gzip文件,对不对?您可以尝试通过注释删除接受编码的检查行。 – YOU 2010-01-11 14:43:06
你可以在这里用萤火虫查看这个页面 - http://test.my-mm.org/font/embed.htm。它的工作和我在我的博客中使用类似的方式。 – YOU 2010-01-11 14:48:44