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下的几种页面跳转的方法

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的请求过程,这里就不细说了。

--结束END--

本文标题: PHP中跳转与重定向的区别是什么

本文链接: https://www.lsjlt.com/news/504.html (转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢

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

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

    在php中,重定向是指通过各种方法将网络请求重新定个方向,转到其它位置;重定向可分为内部和外部,区别是外部重定向时,浏览器地址栏中的URL会发生变化。
    阅读数:572 php 重定向
  • php中重定向网页跳转方法总结案例教程

    这篇文章主要介绍了php中重定向网页跳转方法总结案例教程,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
  • PHP获取重定向URL的几种方法是什么

    PHP获取重定向URL的方法:1、使用get_headers函数来获取,语法“get_headers($url, 1)”;2、使用fsockopen()函数来获取;3、利用curl_init()、curl_setopt()等函数来获取。
    阅读数:218 PHP 获取重定向URL
  • php中实现重定向有什么方法

    php中实现重定向的方法:1、使用“header('location:跳转地址');”语句;2、使用“echo '<meta http-equiv="refresh" content="跳转秒数;url=跳转地址">';”语句。
    阅读数:629 php 重定向
  • php中变量与常量的区别是什么

    区别:1、常量只能用define()函数或const关键字定义;而变量没有定义的关键字或函数,在赋值的时候被定义。2、变量名前用“$”修饰,常量名则不需要。3、变量值可以改变,常量值不可以。4、变量有全局和局部作用域,而常量只有全局作用域。
    阅读数:616 php 变量 常量
  • php与ruby的区别是什么

    php与ruby的区别:1、ruby中函数的调用可以把括号省略,而PHP中不能把括号省略;2、ruby中提供proc、block,而PHP中没有提供;3、ruby中没有接口,也没有抽象类,而PHP中有接口,也有抽象类。
    阅读数:812 php
  • web与php的区别是什么

    web与php的区别:1、php主要用于后端处理数据和操作数据增删改查,而web前端用于把界面和数据显示给用户;2、php在服务器运行和解释,web前端主要用浏览器解决;3、php要考虑效率和安全性,web前端则要更注重可操作性和美观。
    阅读数:914 PHP
  • wordpress与PHP的区别是什么

    wordpress与PHP的区别:PHP是一门在服务器端执行的脚本语言,一种编程语言;而WordPress是一款个人博客系统,是使用PHP语言开发的博客平台,功能都是现成的直接使用。
    阅读数:890 wordpress PHP
  • php与vb的区别是什么

    php与vb的区别:1、PHP即超文本预处理器,是网页的代码语言,在服务器端执行的脚本语言,常用于编写网页;2、VB是Microsoft公司开发的一种通用的基于对象的程序设计语言,常用于做应用程序。
    阅读数:555 PHP
  • php sizeof与count的区别是什么

    php sizeof()和count()之间没有区别。sizeof()函数是count()函数的别名,也就是说sizeof()函数的功能及使用方法与count()函数是完全相同的,都可以用来计算数组的长度。
    阅读数:405 php sizeof count
  • index.php怎么301重定向到首页

    index.php301重定向到首页的方法:index.php这个默认是首页,可以通过添加以下代码来做301重定向,代码如下:$the_host = $_SERVER['HTTP_HOST'];$request_uri = isset($_
    阅读数:409 301重定向 index.php
  • php中类继承与接口继承的区别是什么

    在PHP中,类继承与接口继承的区别是:PHP类不支持多继承,也就是子类只能继承一个父类,但是支持多层次继承,而接口支持多继承,也就是接口可以继承一个或者多个接口。
    阅读数:803 PHP
  • php中恒等与等于的区别是什么

    区别:1、恒等使用“===”运算符进行计算,而等于使用“==”运算符进行计算;2、等于运算只测试左边变量是否与右边变量具有相同的值,而恒等运算不仅测试值是否相同,还测试数据类型是否相同。
    阅读数:435 php 恒等 等于 === ==
  • php === 和==的区别是什么

    php ===和==的区别:1、在PHP中===表示全等运算符,而==表示等于运算符;2、如果等于运算符两边的值相等,则返回true,而如果全等运算符两边的值相等但类型不等,则返回false。
    阅读数:622 php
  • php7与php5的区别是什么

    php7与php5的区别:1、php7移除了不再支持的SAPI;2、php7新增了空接合操作符;3、php7增加了结合比较运算符;4、php 7增加了函数的返回类型声明。
    阅读数:689 php 7 php 5 区别
  • PHP中redis和memcache区别是什么

    这篇文章给大家分享的是有关PHP中redis和memcache区别是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。PHP中redis和memcache区别PHP中memcached 和 redis 都很类似:
    阅读数:436 redis memcache 别是
  • php中float和double的区别是什么

    在PHP中,float和double没有区别。浮点型在PHP中也叫浮点数float、双精度数double或实数real,float、double或real是相同的数据类型,可以使用同一种语法定义。
    阅读数:408 PHP
  • php中echo和return的区别是什么

    区别:1、echo是输出字符串到浏览器,而return是终止后面代码的执行并返回一个值;2、echo主要用于php对浏览器的输出,而return主要用于处理函数的返回值。
    阅读数:555 php echo return
  • php中put和post的区别是什么

    区别:1、PUT方法没有POST方法使用广泛,但PUT方法却是向服务器上传文件最有效率的方法;2、上传过程和上传效果不同;3、POST请求的URI表示处理该封闭实体的资源,PUT请求中的URI表示请求中封闭的实体。
    阅读数:467 php put post