301 跳转被浏览器缓存,怎么办?
2023-06-13 09:18:30 时间
先百科一下什么是 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;
相关文章
- 如何让浏览器不缓存文件
- 谷歌清楚缓存快捷键_清除浏览器缓存的快捷键是什么
- python selenium清除浏览器缓存[通俗易懂]
- angularjs清除浏览器缓存
- php清除浏览器缓存代码,js清除浏览器缓存
- 19-Nginx控制浏览器缓存与上游静态资源缓存
- 浏览器缓存机制
- 为什么html在浏览器中不能显示图片_做html网页图片显示不出来
- 谷歌的api_谷歌浏览器添加搜索引擎
- PHP 浏览器缓存_php缓存引擎
- 浏览器代理服务器没有响应解决方案怎么办_电脑代理服务器无响应
- QQ对话框提示“当前网页非官方页面,请勿输入QQ帐号和密码,如需访问,请复制后使用浏览器访问”怎么办?
- Selenium WebDriver API 学习笔记(二):浏览器控制
- JS浏览器环境下各种实用API记录
- 浏览器缓存
- [javaEE] 控制浏览器缓存资源详解编程语言
- 如何在浏览器中访问Redis页面(怎么打开redis页面)
- 屏蔽浏览器缓存另类方法
- js无提示关闭浏览器页面的代码
- Js代码中,ajax请求地址后加随机数防止浏览器缓存的原因
- js、css、img等浏览器缓存问题的2种解决方案