更正字体MIME类型的Apache AddType指令

时间:2011-09-14 11:32:51

标签: apache fonts mime woff eot

我正在使用@ font-face作为嵌入字体(感谢Paul Irish)。在尝试修复Chrome关于woff字体的错误MIME类型的警告时,我发现了大量相互矛盾的建议。

每个人似乎都同意.eot字体(对于IE 6-8?)应该使用

提供
AddType application/vnd.ms-fontobject .eot

对于.ttf字体(较旧的非IE浏览器?)我见过

AddType application/x-font-ttf        .ttf
AddType application/octet-stream      .ttf
AddType font/truetype                 .ttf
AddType font/ttf                      .ttf

对于.woff字体(新标准?)我见过

AddType application/font-wof          .woff
AddType application/x-font-woff       .woff
AddType application/x-woff            .woff

我理解woff的correct MIME type将是application / font-woff,但在标准正式之前,application/x-font-woff is understood by Chrome

我意识到我已经半问了一下我的问题,但问题是:是否有关于字体应该使用什么MIME类型的权威指导或进一步的建议?

更新(如果它对任何其他人有任何帮助):因为似乎没有任何权威,我已经决定在我的.htaccess中使用以下字体MIME类型(这至少让Chrome保持开心):

AddType application/vnd.ms-fontobject .eot
AddType application/x-font-ttf        .ttf
AddType application/x-font-woff       .woff

6 个答案:

答案 0 :(得分:71)

我意识到这个问题已经过时了,但对于那些希望快速复制/粘贴以便将字体MIME类型添加到其.htaccess中的人来说:

<IfModule mod_mime.c>
    AddType application/vnd.ms-fontobject    .eot
    AddType application/x-font-opentype      .otf
    AddType image/svg+xml                    .svg
    AddType application/x-font-ttf           .ttf
    AddType application/font-woff            .woff
    AddType application/font-woff2           .woff2
</IfModule>

答案 1 :(得分:6)

我刚刚对IANA official list做了一些研究。这似乎是截至2013年5月的比赛现状:

这三个是官方的,由IANA分配:

  • svg as“image / svg + xml”
  • woff as“application / font-woff”
  • eot as“application / vnd.ms-fontobject”

这些并非官方/已分配,因此必须使用'x-'语法:

  • ttf as“application / x-font-ttf”
  • otf as“application / x-font-opentype”

似乎'font'类型不存在,所以你看到'font / xxx'的任何时间类型都是假的。可能'x-font / xxx'是允许的,不确定。 IIS8附带了几个这样的条目。不确定MS是否认为这些'font / xxx'是兼容性所需,或者他们只是不读取RFC: - )

application / font-woff看起来很新,也许只是自2013年1月以来的正式版。所以“application / x-font-woff”在短期内可能更安全/更兼容。

答案 2 :(得分:4)

通常,MIME类型来自RFC。 您在IANA site上有详尽的列表,但没有一个是字体扩展名。 此外,document describing WOFF format是草稿,并不涉及要使用的mime类型。 目前似乎还没有关于这个问题的可靠参考。

更新

W3C现已发布WOFF作为推荐,并在Appendix B中将MIME类型定义为application/font-woff。它也被添加到您现在提到的IANA site中。 -GKFX

答案 3 :(得分:3)

我认为值得一提的是,自2013年3月起,IANA.otf.ttf扩展提供了application/font-sfnt的MIME类型。

有关官方MIME类型的完整和最新列表,请参阅我在Proper MIME type for fonts

上的回答

答案 4 :(得分:0)

在2019年,您可以使用:

AddType font/otf .otf
AddType font/ttf .ttf
AddType font/woff .woff
AddType font/woff2 .woff2
AddType application/vnd.ms-fontobject .eot

答案 5 :(得分:0)

这是在 apache 中缓存所有字体类型的示例(在 Google Page Speed 上测试):

AddType application/font-sfnt            otf ttf
AddType application/font-woff            woff
AddType application/font-woff2           woff2
AddType application/vnd.ms-fontobject    eot


ExpiresByType application/font-woff "access plus 1 month" 
ExpiresByType application/font-woff2 "access plus 1 month"
ExpiresByType application/font-sfnt "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"