这篇文章主要讲解了“PHP中跳转与重定向的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP中跳转与重定向的区别有哪些”吧!
区别:1、跳转是当前URL请求成功,重新请求新的URL;而重定向是当前的URL无效,被重新定位到新的URL上。2、在跳转中,浏览器会记录当前URL和新URL到历史记录中;而重定向不会。3、重定向是不能回退到当前URL的;而跳转可以。
本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
PHP中跳转和重定向的区别
跳转:
浏览器认为: 当前URL请求成功, 重新请求新的URL.
浏览器会 记录当前的URL 和 新的URL 在请求历史记录中.
回退, 是可以回退到, 当前的URL上的. (无论 success, 和 error 都是一样)
语法实现: 在浏览器层面, 修改浏览器的location.href来实现的:location.href=href;
重定向:
浏览器认为, 当前的URL无效, 被重新定位到新的URL上.
浏览器不会记录当前的URL到历史记录中,
不能回退到当前的URL中.
语法实现, 都是服务器向浏览器发出重定向响应指令,
通过响应头:
header('Location:'. URL), 立即重定向到某个URLheader('Refresh: ')
页面重定向一定会有页面跳转,页面跳转不一定会有页面重定向,也就是说页面重定向真包含于页面跳转,页面重定向是页面跳转的充分不必要条件。
重定向使用实例
重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向)。
我们在网站建设中,时常会遇到需要网页重定向的情况:
1.网站调整(如改变网页 目录结构);
2.网页被移到一个新地址;
3.网页扩展名改变(如应用需要把.php改成.Html或.shtml)。
这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到一个404 页面错误信息,访问流量白白丧失;再者某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主 站点等。
总结下PHP下的几种页面跳转的方法
meta标签实现
只需在head里加上下面这一句就行了,在当前页面停留0秒后跳转到目标页面
echo '<meta http-equiv="refresh" content="0;url=https://www.baidu.com">';
JavaScript实现
echo '<script>window.location.href = 'https://www.baidu.com';</script>';
PHP页面重定向实现
header('Location: https://www.baidu.com');
使用PHP页面重定向跳转与上面两种方法有点不同的是,它的http应答状态码是指定为3xx。具体差别涉及HTTP的请求过程,这里就不细说了。
感谢各位的阅读,以上就是“PHP中跳转与重定向的区别有哪些”的内容了,经过本文的学习后,相信大家对PHP中跳转与重定向的区别有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!