wordpress 利用浏览器缓存

2024-06-23

当我使用 W3 Total Cache 并正确启用所有内容时,不明白为什么 PageSpeed 对“利用浏览器缓存”的评分很差。

https://developers.google.com/speed/pagespeed/insights/?url=http%3A%2F%2Fwww.moderngunrepair.com%2F https://developers.google.com/speed/pagespeed/insights/?url=http%3A%2F%2Fwww.moderngunrepair.com%2F

使用 Yoast SEO 插件,我可以看到 .htaccess,这就是它显示的内容:

# BEGIN W3TC Browser Cache
<IfModule mod_mime.c>
    AddType text/css .css
    AddType text/x-component .htc
    AddType application/x-javascript .js
    AddType application/javascript .js2
    AddType text/javascript .js3
    AddType text/x-js .js4
    AddType text/html .html .htm
    AddType text/richtext .rtf .rtx
    AddType image/svg+xml .svg .svgz
    AddType text/plain .txt
    AddType text/xsd .xsd
    AddType text/xsl .xsl
    AddType text/xml .xml
    AddType video/asf .asf .asx .wax .wmv .wmx
    AddType video/avi .avi
    AddType image/bmp .bmp
    AddType application/java .class
    AddType video/divx .divx
    AddType application/msword .doc .docx
    AddType application/vnd.ms-fontobject .eot
    AddType application/x-msdownload .exe
    AddType image/gif .gif
    AddType application/x-gzip .gz .gzip
    AddType image/x-icon .ico
    AddType image/jpeg .jpg .jpeg .jpe
    AddType application/json .json
    AddType application/vnd.ms-access .mdb
    AddType audio/midi .mid .midi
    AddType video/quicktime .mov .qt
    AddType audio/mpeg .mp3 .m4a
    AddType video/mp4 .mp4 .m4v
    AddType video/mpeg .mpeg .mpg .mpe
    AddType application/vnd.ms-project .mpp
    AddType application/x-font-otf .otf
    AddType application/vnd.ms-opentype .otf
    AddType application/vnd.oasis.opendocument.database .odb
    AddType application/vnd.oasis.opendocument.chart .odc
    AddType application/vnd.oasis.opendocument.formula .odf
    AddType application/vnd.oasis.opendocument.graphics .odg
    AddType application/vnd.oasis.opendocument.presentation .odp
    AddType application/vnd.oasis.opendocument.spreadsheet .ods
    AddType application/vnd.oasis.opendocument.text .odt
    AddType audio/ogg .ogg
    AddType application/pdf .pdf
    AddType image/png .png
    AddType application/vnd.ms-powerpoint .pot .pps .ppt .pptx
    AddType audio/x-realaudio .ra .ram
    AddType application/x-shockwave-flash .swf
    AddType application/x-tar .tar
    AddType image/tiff .tif .tiff
    AddType application/x-font-ttf .ttf .ttc
    AddType application/vnd.ms-opentype .ttf .ttc
    AddType audio/wav .wav
    AddType audio/wma .wma
    AddType application/vnd.ms-write .wri
    AddType application/font-woff .woff
    AddType application/vnd.ms-excel .xla .xls .xlsx .xlt .xlw
    AddType application/zip .zip
</IfModule>
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType text/css A31536000
    ExpiresByType text/x-component A31536000
    ExpiresByType application/x-javascript A31536000
    ExpiresByType application/javascript A31536000
    ExpiresByType text/javascript A31536000
    ExpiresByType text/x-js A31536000
    ExpiresByType text/html A3600
    ExpiresByType text/richtext A3600
    ExpiresByType image/svg+xml A3600
    ExpiresByType text/plain A3600
    ExpiresByType text/xsd A3600
    ExpiresByType text/xsl A3600
    ExpiresByType text/xml A3600
    ExpiresByType video/asf A31536000
    ExpiresByType video/avi A31536000
    ExpiresByType image/bmp A31536000
    ExpiresByType application/java A31536000
    ExpiresByType video/divx A31536000
    ExpiresByType application/msword A31536000
    ExpiresByType application/vnd.ms-fontobject A31536000
    ExpiresByType application/x-msdownload A31536000
    ExpiresByType image/gif A31536000
    ExpiresByType application/x-gzip A31536000
    ExpiresByType image/x-icon A31536000
    ExpiresByType image/jpeg A31536000
    ExpiresByType application/json A31536000
    ExpiresByType application/vnd.ms-access A31536000
    ExpiresByType audio/midi A31536000
    ExpiresByType video/quicktime A31536000
    ExpiresByType audio/mpeg A31536000
    ExpiresByType video/mp4 A31536000
    ExpiresByType video/mpeg A31536000
    ExpiresByType application/vnd.ms-project A31536000
    ExpiresByType application/x-font-otf A31536000
    ExpiresByType application/vnd.ms-opentype A31536000
    ExpiresByType application/vnd.oasis.opendocument.database A31536000
    ExpiresByType application/vnd.oasis.opendocument.chart A31536000
    ExpiresByType application/vnd.oasis.opendocument.formula A31536000
    ExpiresByType application/vnd.oasis.opendocument.graphics A31536000
    ExpiresByType application/vnd.oasis.opendocument.presentation A31536000
    ExpiresByType application/vnd.oasis.opendocument.spreadsheet A31536000
    ExpiresByType application/vnd.oasis.opendocument.text A31536000
    ExpiresByType audio/ogg A31536000
    ExpiresByType application/pdf A31536000
    ExpiresByType image/png A31536000
    ExpiresByType application/vnd.ms-powerpoint A31536000
    ExpiresByType audio/x-realaudio A31536000
    ExpiresByType image/svg+xml A31536000
    ExpiresByType application/x-shockwave-flash A31536000
    ExpiresByType application/x-tar A31536000
    ExpiresByType image/tiff A31536000
    ExpiresByType application/x-font-ttf A31536000
    ExpiresByType application/vnd.ms-opentype A31536000
    ExpiresByType audio/wav A31536000
    ExpiresByType audio/wma A31536000
    ExpiresByType application/vnd.ms-write A31536000
    ExpiresByType application/font-woff A31536000
    ExpiresByType application/vnd.ms-excel A31536000
    ExpiresByType application/zip A31536000
</IfModule>
<IfModule mod_deflate.c>
    <IfModule mod_headers.c>
        Header append Vary User-Agent env=!dont-vary
    </IfModule>
        AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon application/json
    <IfModule mod_mime.c>
        # DEFLATE by extension
        AddOutputFilter DEFLATE js css htm html xml
    </IfModule>
</IfModule>
<FilesMatch "\.(css|htc|less|js|js2|js3|js4|CSS|HTC|LESS|JS|JS2|JS3|JS4)$">
    <IfModule mod_headers.c>
        Header set Pragma "public"
        Header append Cache-Control "public"
         Header set X-Powered-By "W3 Total Cache/0.9.4"
    </IfModule>
</FilesMatch>
<FilesMatch "\.(html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml|HTML|HTM|RTF|RTX|SVG|SVGZ|TXT|XSD|XSL|XML)$">
    <IfModule mod_headers.c>
        Header set Pragma "public"
        Header append Cache-Control "public"
         Header set X-Powered-By "W3 Total Cache/0.9.4"
    </IfModule>
</FilesMatch>
<FilesMatch "\.(asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|json|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|wav|wma|wri|woff|xla|xls|xlsx|xlt|xlw|zip|ASF|ASX|WAX|WMV|WMX|AVI|BMP|CLASS|DIVX|DOC|DOCX|EOT|EXE|GIF|GZ|GZIP|ICO|JPG|JPEG|JPE|JSON|MDB|MID|MIDI|MOV|QT|MP3|M4A|MP4|M4V|MPEG|MPG|MPE|MPP|OTF|ODB|ODC|ODF|ODG|ODP|ODS|ODT|OGG|PDF|PNG|POT|PPS|PPT|PPTX|RA|RAM|SVG|SVGZ|SWF|TAR|TIF|TIFF|TTF|TTC|WAV|WMA|WRI|WOFF|XLA|XLS|XLSX|XLT|XLW|ZIP)$">
    <IfModule mod_headers.c>
        Header set Pragma "public"
        Header append Cache-Control "public"
         Header set X-Powered-By "W3 Total Cache/0.9.4"
    </IfModule>
</FilesMatch>
# END W3TC Browser Cache
# BEGIN W3TC Page Cache core
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP:Accept-Encoding} gzip
    RewriteRule .* - [E=W3TC_ENC:_gzip]
    RewriteCond %{HTTP_COOKIE} w3tc_preview [NC]
    RewriteRule .* - [E=W3TC_PREVIEW:_preview]
    RewriteCond %{REQUEST_METHOD} !=POST
    RewriteCond %{QUERY_STRING} =""
    RewriteCond %{REQUEST_URI} \/$
    RewriteCond %{HTTP_COOKIE} !(comment_author|wp\-postpass|w3tc_logged_out|wordpress_logged_in|wptouch_switch_toggle) [NC]
    RewriteCond "%{DOCUMENT_ROOT}/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC_PREVIEW}.html%{ENV:W3TC_ENC}" -f
    RewriteRule .* "/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC_PREVIEW}.html%{ENV:W3TC_ENC}" [L]
</IfModule>
# END W3TC Page Cache core
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"
</IfModule>
## EXPIRES CACHING ##

难道我做错了什么?


未设置过期标头的可能原因有以下几种:

  • 您使用 .htaccess 作为过期规则。可能没有加载。 IE。您的网络主机不允许通过在主 Apache 配置文件中指定“AllowOverride None”来使用它
  • Web 主机上未启用 Mod_expires
  • 您尚未将 .htaccess 放置在 Web 根目录中或者其命名不正确

我的观察是文件中的指令太多。与其依赖 Wordpress 插件来生成 .htaccess,为什么不安装 mod_pagespeed Apache 模块(Google 自己开发和维护的)。它将自动启用压缩和过期,除此之外它还有许多其他性能功能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

wordpress 利用浏览器缓存 的相关文章

  • 更改 Woocommerce 电子邮件表总计中的“运费”标签?

    我正在 WooCommerce 中自定义订单电子邮件模板 需要将 送货 标题更改为 送货 并将 送货地址 更改为 送货地址 我尝试了一个插件 Say What 来更改文本 但它不起作用 有一个循环可以处理所有这些信息 Woocommerce
  • Woocommerce 中的订单接收页面上的 JS 跟踪代码中的订单商品

    我正在尝试在 Woocommerce 谢谢页面中集成跟踪代码 我只找到了订单id来填写 但我不知道如何完成订单项目数据 这是我的实际代码
  • 在 facebook 的 share.php 上传递标题、url 和图像

    我想在 facebook 上分享标题 图像和描述 无需 javascript 只需将这些传递到 facebook 的 share php 即可 我在这个网站上得到了一些有问题的代码用于社交书签的 AddThis AddToAny Share
  • 在python中缓存数据库数据

    在项目中 我需要缓存从每个请求获取的数据库数据 这样从下次开始 将从缓存而不是数据库中选取数据 表行 从而提高性能 在数据库中 我有超过 10M 的数据行 我正在浏览烧杯缓存文档 从中看来它只会将函数和参数一起缓存为键 那么这如何存储我的主
  • 在自定义 wp_query 循环中按价格订购产品

    我目前有一个非常简单的 wp query 循环来循环我的 WooCommerce 产品 如下所示 args array posts per page gt 1 product cat gt cat post type gt product
  • 301 重定向 .htaccess

    如何进行301重定向 例如 子目录 Blog to blog 与 htaccess Redirect 301 Blog blog 或者使用类似的东西http www htaccessredirect net index php http w
  • 在 Woocommerce 中的管理订单编辑页面上获取嵌套自定义字段元数据

    在 woocommerce 中 我根据购物车数量在结帐页面上添加了自定义字段 Adding Custom Fields based on Cart Count add action woocommerce before checkout b
  • 使用 knit2wp 更新帖子

    我已经能够使用 knit2wp 成功发布到 WordPress 甚至可以使用图像 即使拥有这样的天赋 我也并非绝对正确 事实上 即使是上面的内容也需要一些工作 我希望稍后能够更新帖子 显然 RWordPress 软件包允许删除帖子 但如果无
  • 根据 apache 环境变量,有条件地要求 HTTP 身份验证

    我的托管有我的站点的多个部署 开发 阶段 生产 当且仅当它们设置的环境变量等于 dev 时 如何在我的 htaccess 文件中添加 HTTP Auth 标头 这意味着他们设置了一个名为 SITE ENVIRONMENT 的变量 该变量可以
  • 迁移 WordPress 中的小部件设置

    我在工作和其他地方已经完成了很多从一台服务器到另一台服务器的 WordPress 迁移 但我一直无法理解的一件奇怪的事情是为什么小部件设置永远不会被继承 我将转储 MySQL 数据库 用实时域查找 替换 localhost 通过 SSH 将
  • ASP.NET MVC 3 中未经身份验证用户的缓存主页

    我的网站有一个主页 我想为匿名用户缓存该页面 并将其设置为经过身份验证的用户的 私有 以便他们将其保存在自己的计算机上 而不是其他地方 因此 如果用户是匿名的 我想将页面保存在服务器缓存中 并使用以下命令保存在浏览器缓存中Cache con
  • WordPress 固定链接永远不会在本地主机 Ubuntu 12.10 上工作

    除默认设置外 Wordpress 永久链接不起作用 如何启用此重写 我试过了 sudo a2enmod rewrite sudo service apache2 restart 永久链接保存到 localhost wordpress 中的
  • 作为服务运行时,URLDownloadToFile() 将对象写入缓存中

    我有一个软件 可以将图像下载到工作目录中 然后对其进行处理以创建视频 之后 这些文件将被独立脚本删除 问题是它还将文件写入以下目录 该软件作为系统服务运行 C Windows SysWOW64 config systemprofile Ap
  • WooCommerce:用文本覆盖购物车价格

    我们有很多产品具有以下功能 No price 零价格 我们让它们可以通过内置挂钩购买 但购物车仍然将它们显示为具有0 price结账时 我们希望购物车和结帐摘要显示 特殊订单 或任何其他文本 但 WooCommerce 似乎使基于文本的价格
  • 更改 JAVA DNS 缓存设置

    我的网络应用程序使用 java8 我想更改 JAVA DNS 缓存的设置 这是代码 java security Security setProperty networkaddress cache ttl 60 java security S
  • Safari 无法从缓存中检索 mp4 视频,并且有时在下载相同资源时超时

    我正在运行一个显示全屏视频故事的 VueJS 应用程序 我不会在故事中创建与媒体数量一样多的标签 我只是在每次播放新视频时更改组件视频源 但看起来 Safari 桌面版和移动版 在加载后仍然不会缓存 HTML 视频 当我再次播放以前的媒体时
  • 如何在 Apache 中将没有扩展名的文件视为 php

    在 Apache 中浏览目录时 我希望在单击没有扩展名的文件时将其视为 php 那些包含 php 代码的文件 您可以使用 apache mod rewrite 的 H 标志强制 php 处理程序解析所有没有扩展名的文件 在 htaccess
  • 重写本地主机和实时环境的规则

    我想添加在本地环境 本地主机 和我的实时服务器上工作的重写规则 Why 当我在本地测试我的项目并将其上传到实时服务器时 我不想更改规则 添加规则 这是一个例子 ANY URL index php page somepage 改成 ANY U
  • WordPress 中的随机永久链接键

    我想为 WordPress 中的每个新帖子都有一个自定义永久链接 例如 http mysite com x5Kvy6 http mysite com x5Kvy6 如 bit ly 我尝试了这个小脚本 但它只在永久链接的帖子标题中添加了 5
  • mod_rewrite 和 RewriteRule 阻止我添加错误页面

    我有这个 htaccess文件 但我需要有一个 404 错误页面 但是当我向其中添加 ErrorDocument 时 我什么也没做 如果我写localhost 8888 home somepage there not exist

随机推荐

  • 将亚马逊 MWS 暂存器查询转换为 API 调用

    我想知道是否有办法转换我的亚马逊 MWS便笺 https mws amazonservices co uk scratchpad index html对 API 调用的查询 例如使用 MWS 暂存器时 我会得到一个要签名的字符串 mws a
  • Linux 内核模块中的文件 I/O

    我正在编写一个需要打开和读取文件的 Linux 内核模块 实现这一目标的最佳方法是什么 我能问一下你为什么要打开文件吗 我喜欢关注Linux开发 出于好奇 我不是内核开发人员 我是做Java的 而且我以前看过关于这个问题的讨论 我找到了一个
  • 即使类位于包中,也无法从 tomcat 服务器运行我的 servlet

    我正在尝试让我的 servlet 运行 我已经搜索了 2 天并尝试了所有可能的解决方案 但没有成功 servet 类位于适当的文件夹中 即在包名称下 我还将 servlet 中所需的 jar 文件添加到 lib 文件夹中 web xml 文
  • Class.getResource 和 ClassLoader.getSystemResource:是否有理由选择其中之一?

    我都看到了Class getResource and ClassLoader getSystemResource用于在 Java 中定位资源 有什么理由更喜欢其中一个而不是另一个 加载资源有多种方式 每种方式的含义略有不同 ClassLoa
  • 协作投票算法的用户分布

    我的应用程序 实际上是一个游戏 的用户回答问题即可获得积分 问题由其他用户提供 由于数量有限 我无法亲自检查所有内容 因此我决定将过滤过程众包给用户 玩家 规则很简单 每个用户都会看到一个问题来评价好 坏 不确定 当问题被评为 差 5 次时
  • 在 SQL Developer 中设置 sybase DB 连接?

    我们可以使用 SQL Developer 连接到 sybase 数据库服务器吗 如果是的话我们需要进行哪些配置设置 我们可以在Oracle目录中使用相同的tnsname ora文件还是需要单独安装sybase客户端来获取连接信息 在 Ora
  • 客户端设置了 multipart/form-data 请求的文件部分的内容类型错误

    我正在尝试发送multipart form data使用以下 JavaScript 和 jQuery var formData new FormData formData append projectName projectNameInpu
  • SRC_URI 在 bitabake 配方中不起作用

    我创建了一个用于安装的 bitbake 配方https pypi python org pypi Adafruit GPIO 1 0 3 https pypi python org pypi Adafruit GPIO 1 0 3蟒蛇包 以
  • 使用制表符作为空格时删除制表符

    我知道一般的制表符与空格的关系由来已久 并且主要取决于个人喜好 坚持团队的风格 我只是想问一个有关在 Visual Studio 中使用空格的实际问题 关于选项卡的某些事情让我烦恼 当我们是一个小团队时 我不介意更改为空格 这对于首先编写代
  • 核心数据实体关系在启动之间不会保存

    我正在编写一个应用程序 它有四个主要实体 它们都通过关系链接 有些是一对一 有些是一对多 初始加载时 三个实体从本地存储的 XML 文件加载数据到应用程序 其中一个实体从 Web 下载 XML 并从中加载数据 当应用程序加载时 它会执行检查
  • Mercurial:应用从稳定命名分支到开发分支的错误修复更改

    我的仓库中有这两个命名分支 稳定且开发 我的问题是如何将稳定版中更改的错误修复补丁复制到开发分支 我真的很想在框架内执行此操作 而不是使用任何扩展 EDIT 我为这个问题设置了赏金 因为我真的想要解决方案 有一个很好的解决方案 但中途被搁置
  • 如何统计MONGODB中所有唯一值? [复制]

    这个问题在这里已经有答案了 date 2017 09 04 description DD from my employer1 amount 1000 33 date 2017 09 06 description DD from my emp
  • 此版本的 OSX 无法执行必要的 dSYM 转换

    31merror could not complete submission of dSYM at Users XXUSERXX Library Developer Xcode DerivedData ProjectName flcouee
  • 使用 Google 帐户作为登录...下一步是什么?

    我正在开发一个 Android 应用程序 它将有一个类似 api 的服务器端 而且这个应用程序将有用户登录机制 我想使用 google fb twitter 帐户作为登录信息 因为该应用程序的用途非常社交化 我已经阅读过有关使用手机中存储的
  • .Net 中忽略 PC 区域和语言设置

    我知道我并不孤单 但我还没有找到解决方案 我的电脑区域和语言设置均为英语 英国 但 Net 使用美国格式的日期和货币 我检查了机器配置和 Web 配置 没有全球化设置 我不想添加它们 还有我错过的其他设置吗 您使用 ASP NET 标记 我
  • $.Post 不包含任何回复

    我有一个 php来自另一台处理数据的服务器的文件 该数据已制成表格 所以每当我使用调用此页面时 post如果参数正确 它的反应就不会是什么 我检查了我的代码 也许标题是对此负责的 我实际上想要的是返回我的表格数据 以便我可以将其填充到另一个
  • JavaScript 重定向 - 新窗口

    我正在尝试使用 Javascript 从空白 iframe 内部创建一个重定向 该重定向将定向到新窗口或选项卡内的 URL 更具体地说 我试图使 Facebook 选项卡指向我公司的网页 而不是将页面加载到选项卡的 iframe 内 该 i
  • 无法在 servlet 过滤器中写入新响应

    我正在尝试读取当前响应并尝试用新数据覆盖响应 但目前我还无法这样做 我总是以 GetWriter 已经被调用的异常结束 这就是我想做的 我想读取响应 修改它并在过滤器中写入新的响应 我无法正常执行此操作 因为该过程是由 swagger sp
  • HTML 日期时间本地更改事件?

    有没有办法处理 日期时间选择 事件
  • wordpress 利用浏览器缓存

    当我使用 W3 Total Cache 并正确启用所有内容时 不明白为什么 PageSpeed 对 利用浏览器缓存 的评分很差 https developers google com speed pagespeed insights url