首页 > 解决方案 > 在 .htacess 中设置 Expires Header 对于 Woocommerce 网站来说是一个糟糕的主意吗?

问题描述

我已将以下内容添加到我的 .htacces 文件中,以便为各种文件类型设置到期时间。对我的 woocommerce 网站的速度影响是巨大的——它现在正在运行。一切似乎都奏效了。

但如果所有脚本文件、缩略图等都被缓存,那么这肯定是一个坏主意,那么在编辑购物车/回头客等时事情不应该正常工作?

这似乎太容易了??

# Optimize cache-control
<IfModule mod_expires.c>
    ExpiresActive on
    ExpiresDefault "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType text/html "access plus 3 days"
    ExpiresByType text/xml "access plus 1 seconds"
    ExpiresByType text/plain "access plus 1 seconds"
    ExpiresByType application/xml "access plus 1 seconds"
    ExpiresByType application/rss+xml "access plus 1 seconds"
    ExpiresByType application/json "access plus 1 seconds"
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType text/javascript "access plus 1 week"
    ExpiresByType application/javascript "access plus 1 week"
    ExpiresByType application/x-javascript "access plus 1 week"
    ExpiresByType image/x-ico "access plus 1 year"
    ExpiresByType image/x-icon "access plus 1 year"
    ExpiresByType application/pdf "access plus 1 month"
  <IfModule mod_headers.c>
       Header unset ETag
       Header unset Pragma
       Header unset Last-Modified
       Header append Cache-Control "public, no-transform, must-revalidate"
       Header set Last-modified "Tue, 1 Nov 2018 10:10:10 GMT"
  </IfModule>
</IfModule>

标签: .htaccesswoocommerceexpires-header

解决方案


在 htaccess 中设置所有过期时间可能会破坏购物车功能。发生这种情况时,客户无法从购物车中删除产品或更新购物车,因为购物车将继续显示旧内容。但是,您可以设置一些过期时间。请参阅下面的示例。

#Woocommerce friendly expires
<IfModule mod_expires.c>
    ExpiresActive on
    ExpiresDefault "access plus 1 month"
    #
    ExpiresByType image/jpg  "access plus 1 year"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/gif  "access plus 1 year"
    ExpiresByType image/png  "access plus 1 year"
    ExpiresByType text/css   "access plus 1 month"
    #
    ExpiresByType text/javascript        "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
    ExpiresByType text/x-javascript      "access plus 1 month"
    #
    ExpiresByType image/x-icon "access plus 1 year"
</IfModule>

推荐阅读