【问题标题】:How can i get started using Etag URL fingerprinting for my Opencart website?如何开始为我的 Opencart 网站使用 Etag URL 指纹识别?
【发布时间】:2016-08-13 06:54:27
【问题描述】:

我对脚本和编码很陌生。我现在对加速我的网站产生了兴趣。为此,我想开始利用浏览器缓存。

我已经阅读了一些内容,但我现在正在努力做出正确的决定。

据我了解,有三种选择:

-过期 -最大年龄 -Etag(使用最大年龄时)

在我看来,前两个不适合电子商务网站(opencart btw)。但据我所知,它比 Etag 更容易实现。

我已经在我的测试环境中获得了过期和最大年龄,但是我遇到了我的网页过时的客户端渲染问题。

所以最后我想去 Etag 但我不知道从哪里开始!有没有人(也许也有 opencart 经验?)可以帮我上路?

提前致谢!

问候,

乔治

【问题讨论】:

    标签: .htaccess url caching opencart fingerprinting


    【解决方案1】:

    ETag 实现起来并不复杂。这是您的 .htaccess 文件的 sn-p 代码,它将为您的图像和其他不经常更改的文件启用 ETag:

    # ETags Settings (for Cache purposes)
    <ifModule mod_headers.c>
     <FilesMatch \.(?i:jpeg|jpg|gif|png|css|js|xml)$>
      FileETag MTime Size
     </FilesMatch> 
    
     <FilesMatch \.(?i:php)$>
      Header unset ETag
      Header set Cache-Control "max-age=0, private, no-store, no-cache, must-revalidate"
      Header set Pragma "no-cache"
      FileETag None
     </FilesMatch> 
    </ifModule>
    
    # Expires Settings
    <IfModule mod_expires.c>
     ExpiresActive On 
     ExpiresDefault "access plus 1 month"
    
     # Images
     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"
    </IfModule>
    

    只是一点背景(虽然我相信你已经知道了)和解释:

    ETags 比 expires 更可靠,因为遵循 expire 指令的浏览器不会在给定的生命周期内更改图像/文件,无论是否有任何更改。但是,ETag 可以配置为指示浏览器何时更改图像。

    在上面提供的代码中,FileETag MTime Size 将让浏览器更新图像、css、js 和 xml 文件(?i: 是为了进行不区分大小写的匹配),如果有任何更改在大小或修改时间。最好的部分:它取代了 expires 指令!

    此外,由于内容的动态特性,上述代码将禁用 php 文件的 ETags。

    我包含了图片的 expires 指令,因为在我写这篇文章的时候,许多速度检查器和验证器会因为没有它们而对你排名有点低,即使设置了 ETags。

    【讨论】:

    • 非常感谢您的明确回答!目前我的经理忙于工作,所以现在无法正确测试,但当我有时间时,我会告诉你我的结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    • 2017-11-25
    • 1970-01-01
    • 2022-08-03
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    相关资源
    最近更新 更多