欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP中跳转与重定向的区别是什么

程序员文章站 2022-03-04 09:13:14
...

区别:1、跳转是当前URL请求成功,重新请求新的URL;而重定向是当前的URL无效,被重新定位到新的URL上。2、在跳转中,浏览器会记录当前URL和新URL到历史记录中;而重定向不会。3、重定向是不能回退到当前URL的;而跳转可以。

PHP中跳转与重定向的区别是什么

本教程操作环境: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), 立即重定向到某个URL
header('Refresh: ')

页面重定向一定会有页面跳转,页面跳转不一定会有页面重定向,也就是说页面重定向真包含于页面跳转,页面重定向是页面跳转的充分不必要条件。

重定向使用实例

重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向)。

我们在网站建设中,时常会遇到需要网页重定向的情况:

1.网站调整(如改变网页 目录结构);

2.网页被移到一个新地址;

3.网页扩展名改变(如应用需要把.php改成.Html或.shtml)。

这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到一个404 页面错误信息,访问流量白白丧失;再者某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主 站点等。

总结下PHP下的几种页面跳转的方法

1、meta标签实现

只需在head里加上下面这一句就行了,在当前页面停留0秒后跳转到目标页面

echo '<meta http-equiv="refresh" content="0;url=https://www.baidu.com">';

2、JavaScript实现

echo '<script>window.location.href = 'https://www.baidu.com';</script>';

3、PHP页面重定向实现

header('Location: https://www.baidu.com');

使用PHP页面重定向跳转与上面两种方法有点不同的是,它的http应答状态码是指定为3xx。具体差别涉及HTTP的请求过程,这里就不细说了。

推荐学习:《PHP视频教程

以上就是PHP中跳转与重定向的区别是什么的详细内容,更多请关注其它相关文章!