我尝试了几种方法来获取图片和其他资源以获得过期日期,但似乎没有一种方法适用于http://www.webpagetest.org/
我还安装了W3插件,工具仍然报告图片没有设置过期标题。
我还在htaccess中包含了以下代码:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A300
ExpiresByType application/x-javascript A3600
ExpiresByType text/css A3600
ExpiresByType image/gif A3600
ExpiresByType image/png A3600
ExpiresByType image/jpeg A3600
ExpiresByType text/plain A300
ExpiresByType application/x-shockwave-flash A3600
ExpiresByType video/x-flv A3600
ExpiresByType application/pdf A3600
ExpiresByType text/html A300
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
这似乎是一个常见问题,我已经看到很多关于此的问题,但找不到答案。
测试工具或我的服务器上有问题吗?我该如何找到?
答案 0 :(得分:5)
我遇到了同样的问题。似乎(某些)验证器,如YSlow,在到期日期值为31536000
之前不会成功。
这是一个完整的W3 Total Cache htaccess:http://pastebin.com/wegK3jD6 它对我有用,你不妨试一试。
请注意,pastebin不包含WordPress htaccess内容
答案 1 :(得分:2)
对我来说,答案是启用过期模块。
a2enmod expires
systemctl restart apache2
在https://www.digitalocean.com/community/questions/how-to-setup-expire-headers-on-apache
中通过 Southparkfan 回答因此该代码将在apache服务器配置文件中工作
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 1 month"
ExpiresByType text/html "access plus 15 days"
ExpiresByType image/gif "access plus 1 months"
ExpiresByType image/jpg "access plus 1 months"
ExpiresByType image/jpeg "access plus 1 months"
ExpiresByType image/png "access plus 1 months"
ExpiresByType text/js "access plus 1 months"
ExpiresByType text/javascript "access plus 1 months"
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/woff "access plus 1 year"
ExpiresByType font/woff2 "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
</IfModule>
希望有帮助
答案 2 :(得分:0)
我们试图得到错误的结果。我也在寻找解决方案,但是在读取带有这些(过期标头)代码但没有它们的GTMetrix测试结果之后我发现了什么: