为了账号安全,请及时绑定邮箱和手机立即绑定

隐藏 ?nocache 查询字符串但显示其效果

隐藏 ?nocache 查询字符串但显示其效果

PHP
大话西游666 2023-10-22 21:29:09
我的网站绝对不喜欢缓存。不知何故,缓存导致了一个巨大的问题,并且我的 CMS 不允许我从缓存中排除某些脚本,以便我可以顺利加载页面。所以我所做的是创建从 URL yourdomain.com 到 yourdomain.com/?nocache 的重定向。这将强制向用户显示非缓存站点。这完全适合我。但是,我想隐藏 URL 中的“?nocache”部分,并且仍然强制显示该站点的非缓存版本。请问对此有什么帮助吗?我在 wodpress.com 上的 wordpress 上,他们说缓存不能被禁用,甚至缓存插件也没有效果,所以我不能从缓存中排除某些脚本。
查看完整描述

2 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

使用 JS 将?nocache(或者更好的是?timestamp,timestamp当前 Unix 时间在哪里,例如1598155107)附加到每个链接 URL 的末尾(或者&timestamp如果 URL 已经包含查询字符串)。


该解决方案使用 jQuery,但您可以将其改编为普通 JS:


$('a').each(function(i,link){

    let ts = new Date().getTime(); // E.g. 1598155107

    let href = $(this).attr('href');

    if ( href.match(/\?/) ) {

        href += '&';

    } else {

        href += '?';

    }

    href += ts;

    $(this).attr('href', href);

});


查看完整回答
反对 回复 2023-10-22
?
慕慕森

TA贡献1856条经验 获得超17个赞

好吧,我已经意识到做到这一点的最佳方法不是通过 nocache 重定向,而是在主题标头中实际传递 nocache 标头。

我通过传递做到了

nocache_headers();

更多信息请访问:https://developer.wordpress.org/reference/functions/nocache_headers/

在 header.php 文件中,这解决了我的问题。现在,网站在没有缓存的情况下成功加载。


查看完整回答
反对 回复 2023-10-22
  • 2 回答
  • 0 关注
  • 110 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信