worpdress301 跳转被浏览器缓存,怎么办?

301跳转是什么?

先百科一下什么是 301 跳转?

301跳转是指页面永久性移走,通常叫做301跳转,也叫301永久重定向,301跳转多用于旧网址在废弃前转向新网址以保证用户的访问,在诸多服务器中,均支持本跳转方法。

如何实现301跳转

简单的 PHP 跳转代码:

header("HTTP/1.1 301 Moved Permanently");
header("Location: https://要跳转的链接/");
exit;

如果是 WordPress 的话,则更简单:

wp_redirect($location, 301);

301跳转会被浏览器缓存

我们会在一些程序中使用跳转来做一些数据的跟踪统计,但是我在使用当中发现,301 跳转会被浏览器缓存,就是中间的跟踪统计的程序处理过程不会被执行,浏览器直接跳转到目标链接。怎么办呢?

1. 给 301 跳转添加缓存通知头

header("Cache-Control: no-store, no-cache, must-revalidate");
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://要跳转的链接/");
exit;

2. 使用 302 跳转

302 跳转是要求客户端执行临时重定向(原始描述短语为“Moved Temporarily”),由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。

并且只有在指定了 Cache-Control 或 Expires 的情况下,这个响应才是可缓存的。所以 302 跳转只要不指定 Cache-Control 或 Expires,就是不缓存的:

header("HTTP/1.1 302 Found");
header("Location: https://要跳转的链接/");
exit;

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片