我在.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字体。
答案 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>