更正字体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的答案