原因,为什么我需要禁用缓存:
当我创建文章或页面。它缓存了它的。如果我创建第二个帖子或页面,则它会更新旧帖子或页面。当我禁用每个页面的缓存时,这个错误被修复了。虽然我需要缓存SEO。
所以,我需要禁用缓存只在管理页面。
.htaccess
<ifModule mod_headers.c>
<filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf|woff2)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<filesMatch "\.(css|js)$">
Header set Cache-Control "max-age=86400, public"
</filesMatch>
<filesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
</filesMatch>
<filesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=1800, private, must-revalidate"
</filesMatch>
<FilesMatch "\.(js|css|jpg|png|jpeg|gif|xml|json|txt|pdf|mov|avi|otf|woff|ico|swf)$">
RequestHeader unset Cookie
Header unset Cookie
Header unset Set-Cookie
</FilesMatch>
# Guarantee HTTPS for 1 Year including Sub Domains
Header always set Strict-Transport-Security "max-age=31536000;"
</ifModule>
字符串
function.php
if (is_admin()) {
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', FALSE);
header('Pragma: no-cache');
}
型
我的代码在function.php不工作。
3条答案
按热度按时间juzqafwq1#
恐怕在.htaccess中设置的任何缓存头都有优先级,在PHP中不可能覆盖它们。
我能想到的唯一解决方案是禁用.htaccess中的缓存设置,并手动设置每个文件的头文件。我知道这很痛苦,但这是我所能理解的。
下面的答案会将缓存设置为浏览器默认值,我假设这不是您想要的。
mv1qrgav2#
从.htacess中删除此行
字符串
fivyi3re3#
从.htacess中删除这些行
字符串
你只需要像下面这样的线条
型