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

我的网站绝对不喜欢缓存。不知何故,缓存导致了一个巨大的问题,并且我的 CMS 不允许我从缓存中排除某些脚本,以便我可以顺利加载页面。所以我所做的是创建从 URL yourdomain.com 到 yourdomain.com/?nocache 的重定向。这将强制向用户显示非缓存站点。这完全适合我。

但是,我想隐藏 URL 中的“?nocache”部分,并且仍然强制显示该站点的非缓存版本。请问对此有什么帮助吗?

我在 wodpress.com 上的 wordpress 上,他们说缓存不能被禁用,甚至缓存插件也没有效果,所以我不能从缓存中排除某些脚本。


大话西游666
浏览 111回答 2
2回答

德玛西亚99

使用 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);});

慕慕森

好吧,我已经意识到做到这一点的最佳方法不是通过 nocache 重定向,而是在主题标头中实际传递 nocache 标头。我通过传递做到了nocache_headers();更多信息请访问:https://developer.wordpress.org/reference/functions/nocache_headers/在 header.php 文件中,这解决了我的问题。现在,网站在没有缓存的情况下成功加载。
打开App,查看更多内容
随时随地看视频慕课网APP