更正字体MIMEtypes的Apache AddType指令

我正在使用@ font-faceembedded字体(感谢Paul Irish )。 在试图解决Chrome对woff字体的错误MIMEtypes的警告时,我发现了大量相互矛盾的build议。

每个人似乎都认为,应该使用字体(对于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的正确的MIMEtypes是application / font-woff,但是直到官方标准, application / x-font-woff才能被Chrome所理解 。

我意识到我问了一大堆问题,但问题是:是否有任何权威性的指导或关于什么MIMEtypes应该用于字体的进一步的build议?

更新(以防其他任何人的帮助):因为似乎没有什么权威的,我已经决定在我的.htaccess中使用下面的字体MIMEtypes(至less让Chrome开心):

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

通常,MIMEtypes来自RFC。 您在IANA网站上有详尽的列表,但没有一个是指字体扩展名。 而且, 描述WOFF格式的文件是草案,并不涉及使用的MIMEtypes。 目前似乎还没有关于这个问题的可靠的参考。

更新

W3C现在已经发布了WOFF作为推荐,并且在附录B中将MIMEtypes定义为application/font-woff 。 它也被添加到您现在提到的IANA网站 。 -GKFX

我意识到这个问题是旧的,但对于任何正在寻找快速复制/粘贴添加字体MIMEtypes到他们的.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> 

我刚刚在IANA官方名单上做了一些调查。 这似乎是截至2013年5月的戏剧现状:

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

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

这些不是官方的/分配的,所以必须使用'x-'语法:

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

看起来,“字体”types不存在,所以任何时间types你看到“font / xxx”是假的。 可能'x-font / xxx'是可以允许的,不确定。 IIS8附带了一些这样的条目。 不知道如果MS认为这些'font / xxx'是兼容性需要,或者他们只是不读取RFC 🙂

应用程序/ font-woff似乎是新的,也许只是自2013年1月以来才正式发布。所以“application / x-font-woff”可能在短期内更安全/更兼容。

我认为值得一提的是,从2013年3月起, IANA将.otf.ttf扩展为application / font-sfnt的MIMEtypes。

有关官方MIMEtypes的完整和最新列表,请参阅我的有关适用于字体的正确MIMEtypes的答案