2009-10-14 102 views
12

我使用@ font-face CSS属性为网站上的标题加载特殊字体,并且希望Apache发送压缩的字体以减少加载时间。压缩/缩小@ font-face字体

但是,Apache 2的deflate模块中的“AddOutputFilterByType”声明只接受MIME类型,并且作为AFAIK,opentype和truetype都没有注册MIME类型。

那么,我该如何配置Apache来压缩/压缩font.otf或font.ttf文件?

回答

21

想出了一个解决方案:

使用Apache的AddType声明添加自定义MIME类型,然后使用在AddOutputFilterByType声明MIME类型。

例如,对于OpenType和TrueType字体:

Addtype font/opentype .otf 
Addtype font/truetype .ttf 
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css font/opentype font/truetype 

这两种声明要求其相应的模块被激活:mod_mimemod_deflate。对于最佳做法,AddType声明应位于mime.conf文件中,并且AddOutputFilterByType声明应位于deflate.conf文件中。查看您的特定发行版的帮助文件以启用和配置Apache模块。

+2

很晚了,但其他任何寻找这个的人也可能对HTML5Boilerplate方法感兴趣,它类似但更全面;请参阅http://html5boilerplate.com/template/htaccess.txt?.xml。 – 2011-09-06 12:51:57

+1

h5bp的.htaccess链接有[changed](https://github.com/h5bp/html5-boilerplate/blob/master/.htaccess)。 – 2013-12-05 21:03:56

+0

这是HTML5 Boilerplate的正确URL: https://github.com/h5bp/server-configs-apache 该存储库包含大量令人惊叹的htaccess片段,例如利用浏览器缓存(https:// github.com/h5bp/server-configs-apache/blob/master/src/web_performance/expires_headers.conf)。 – 2016-07-12 17:44:51