W3 Total Cache保持缓存非https页面

问题描述 投票:0回答:1

目前在WordPress安装上安装了W3 Total Cache。整个站点都启用了https://,但有时候缓存会抓取一个源自http://的页面。此缓存页面包括对源自http的JS和CSS文件的引用,当缓存页面通过https加载时,这些资源无法加载。

任何人都知道如何保持此插件缓存非安全内容?

php wordpress w3-total-cache
1个回答
0
投票

您无法在W3 Total Cache中禁用http请求的缓存。只能在Page Cache |中启用/禁用https请求的缓存一般|缓存SSL(https)请求复选框。所以,我想你应该尝试通过其他方式解决这个问题。

如果整个安装配置为https且http请求完全不合需要,请将以下行添加到WordPress .htaccess文件中:

# **************************************************************************
#   Redirect HTTP to HTTPS
# **************************************************************************
RewriteCond %{HTTPS} =off
RewriteCond %{REQUEST_URI} ^(.*)$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=temporary,L]

上面的代码将所有HTTP请求重定向到HTTPS协议中的等价物。这样,WordPress永远不会产生任何不安全的页面,因此,W3 Total Cache不会将这种页面放入其缓存中。

顺便说一句:在代码中使用“临时”而不是“永久”是一个主流:它旨在避免涉及浏览器缓存的可怕问题,因为任何原因,你必须返回到http请求(过期的证书等) 。) - 见301 Redirects: The Horror That Cannot Be UncachedHow long do browsers cache HTTP 301s?

© www.soinside.com 2019 - 2024. All rights reserved.