6

我尝试了几种方法来获取图像和其他资源的到期日期,但根据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>

这似乎是一个常见问题,我已经看到了很多关于此的问题,但找不到答案。

问题出在测试工具上还是在我的服务器上?我怎样才能知道?

4

3 回答 3

5

我有同样的问题。似乎(某些)验证器(例如 YSlow)在到期日期为 value 之前不会成功31536000

这是完整的 W3 Total Cache htaccess: http: //pastebin.com/wegK3jD6
它对我有用,你不妨试一试。

请注意,pastebin 不包含 WordPress htaccess 内容

于 2013-06-12T06:31:48.037 回答
2

我的答案是启用过期模块。

a2enmod expires
systemctl restart apache2

回答者:https://www.digitalocean.com/community/questions/how-to-setup-expire-headers-on-apache中的Southparkfan

所以这段代码将在 apache 服务器 conf 中工作

<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>

希望有帮助

于 2020-03-06T23:30:53.143 回答
0

我们试图得到错误的结果。我也在寻找解决方案,但是在阅读带有这些(过期标头)代码但没有它们的 GTMetrix 测试结果后发现了什么:

  • 过期标头代码有效,但仅适用于内部文件。
  • 过期标头代码不适用于外部文件(来自其他网站,如 google analytics js ...)。
  • 测试结果将只显示外部文件。
  • 如果您删除这些代码行,结果将是最糟糕的,并且会导致更多文件没有过期。
于 2020-10-01T20:47:46.747 回答