.htaccess - 在 .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>
解决方案
在 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>
推荐阅读
- java - 无法从文本文件中删除记录
- javascript - ReactJS:更新父组件类名或在具有不同类名的子父级中重新创建它
- java - Liquibase:向所有表添加相同的列
- google-cloud-firestore - 关于如何使用 Material UI 组件创建博客的建议?
- jenkins - Jenkins 主动选择参数丢失
在 HTML 中 - swift - 过滤结果,Swift 性能变慢
- angular - 角垫桌
- python - Python 挤压零维数组
- java - How to renew token using msal4j and Azure Blob Storage library
- git - 删除分支文件,不一一删除git