htaccess文件中缓存字体的问题

时间:2019-06-23 15:54:22

标签: .htaccess

我在.htaccess文件中设置了此代码,但woff字体不缓存。

<IfModule mod_expires.c>

ExpiresActive on
ExpiresDefault "access plus 1 month"
# Web fonts

AddType application/x-font-ttf ttc ttf
AddType application/x-font-woff .woff
AddType application/font-woff2 .woff2
AddType image/svg+xml .svg
AddType application/vnd.ms-fontobject eot

# Embedded OpenType (EOT)
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
ExpiresByType font/eot "access plus 1 month"

# OpenType
ExpiresByType font/opentype "access plus 1 month"

# TrueType
ExpiresByType application/x-font-ttf "access plus 1 month"

# Web Open Font Format (WOFF) 1.0
ExpiresByType application/font-woff "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType font/woff "access plus 1 month"

# Web Open Font Format (WOFF) 2.0
ExpiresByType application/font-woff2 "access plus 1 month"
</IfModule>

Response Header

Accept-Ranges: bytes
Content-Length: 2416
Content-Type: application/font-woff
Date: Sun, 23 Jun 2019 05:39:21 GMT
Last-Modified: Mon, 05 Nov 2018 15:58:57 GMT
Server: Apache/2.4.18 (Ubuntu)

我也尝试了不启用ExpiresActive和ExpiresDefault“ access plus 1 month”,但仍然无法正常工作。有什么问题?如何缓存这种字体?其他对象,例如CSS,JS和所有由Cache-Control方法正确缓存的图像,但我仍然无法缓存woff字体。

2 个答案:

答案 0 :(得分:0)

htaccess是否已全部读取?在第一行中放入一些乱码,然后检查服务器是否响应500错误。

答案 1 :(得分:0)

通过以下代码解决了问题:

<filesMatch ".(jpg|jpeg|png|gif|ico|svg|ttf|eot|woff|woff2)$">
Header set Cache-Control "max-age=31536000, public"
</filesMatch>