通过.htaccess设置过期头和gzipping数据

我试图设置它,以便浏览器可以长时间缓存网页字体,并尝试将它们gzip进行快速下载。

根据我的理解,你可以通过Apache中的httpd.conf文件或通过.htaccess

我不确定如何判断gzip是否启用,但我读了一些关于在httpd.conf文件中搜索DEFLATE ; 我做到了,但没有发现任何东西 - 所以不知道它是否启用!

无论如何,我已经将下面的代码放到了.htaccess文件中,部分原因是我不知道把它放在httpd.conf文件中的位置,部分原因是因为在不打扰我的主机的情况下,更容易在.htaccess文件中进行更改。

这是代码..

# Add correct content-type for fonts
AddType application/vnd.ms-fontobject .eot
AddType font/ttf .ttf
AddType font/otf .otf
AddType font/x-woff .woff
AddType image/svg+xml .svg

# Compress compressible fonts
AddOutputFilterByType DEFLATE font/ttf font/otf image/svg+xml

# Add a far future Expires header for fonts
ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
ExpiresByType font/ttf "access plus 1 year"
ExpiresByType font/otf "access plus 1 year"
ExpiresByType font/x-woff "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"

现在,我想知道这是否正确,因为我也看到这个类似的,但不同的代码到期。

ExpiresByType application/x-font-ttf "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"

它放在.htaccess文件中的位置,还是可以放在任何地方?


ExpiresByType可以在你的httpd.conf,virtualhost config或htaccess中进行,如每个指令条目顶部的apache文档概述框中所示:

Apache文档截图

http://httpd.apache.org/docs/2.2/mod/mod_expires.html#expiresbytype

上下文列表是如何判断哪些配置文件可以放入各种Apache指令类型的。

假设你正在使用PHP,你的phpinfo细节应该告诉你gzip是否被启用。

PHPInfo屏幕截图

编辑

为了回应你关于正确的字体MIME类型的问题,就他们与Apache服务器的文件关联而言,我的mime.types文件(可在你的httpd.conf所在的apache conf文件夹中找到)告诉我:

application/x-font-(extension)

将是与ExpiresByType一起使用的关联。 我建议首先让字体工作,然后检查字体url的标题以查看它是否给出正确的截止日期。

在这里输入图像描述

至于接收Web字体的浏览器,这篇文章似乎表明MIME类型不被考虑,因此并不重要。 但是,这似乎与此相矛盾。 据我所知,没有官方的字体/ MIME类型,所以任何浏览器实现都不在MIME规范之外。

相关问题:

字体的正确MIME类型

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

我没有在.htaccess中看到任何指定放置要求的地方,所以你应该安全的将这些规则放在任何你认为合适的地方,但是如果你做了AddType,你需要在任何引用声明Type的进一步指令上面这样做。 最好将这些放在重写规则上方的顶端。

链接地址: http://www.djcxy.com/p/46991.html

上一篇: Setting expire headers and gzipping data via .htaccess

下一篇: IE 11 "bulletproof" font