重定向允许您将客户端浏览器重定向到其他URL。 在切换域,更改站点的结构或切换到HTTPS时,可以使用它。

在本文中,我将向您展示如何使用PHP重定向到另一个页面。 我将确切解释PHP重定向的工作原理,并向您展示幕后发生的事情。

通过免费的在线课程学习PHP

基本重定向如何工作?

在深入探讨PHP重定向的细节之前,让我们快速了解HTTP重定向的工作原理。 看下图。


让我们了解以上屏幕截图中发生的情况:

  • 客户端浏览器从服务器请求特定页面。 在上面的示例中,客户端已请求index.php文件的内容。
  • 服务器接收到index.php文件请求,并希望通知客户端它不再可用或移动到其他地方,它应该寻找一个新文件: new_index.php 。 服务器发送带有新URL的Location标头以及301或302 HTTP代码。 这些是用于重定向的HTTP代码。
  • 当客户端浏览器遇到301或302代码时,它知道它必须发起另一个对新URL的请求才能获取内容。 在上面的示例中,它发起一个请求以获取new_index.php文件。
  • 最后,服务器发送新URL的内容。

这就是基本HTTP重定向的工作方式。 在下一节中,我们将讨论PHP重定向的工作方式。

重定向在PHP中的工作方式

在PHP中,当您要将用户从一个页面重定向到另一页面时,需要使用header()函数。 标头功能允许您发送原始的HTTP位置标头,该标头执行实际的重定向,如上一节所述。

如何使用标题功能

让我们看一下header()函数的语法。

header( $header, $replace, $http_response_code )
  • $header :这是您要使用的HTTP标头字符串。 在本例中,我们将使用Location标头进行重定向。
  • $replace :这是一个可选参数,指示标头是否应替换以前的相似标头。
  • $http_response_code :它允许您发送特定的响应代码。

现在,让我们看下面的示例,以了解它们如何协同工作。

<?php
// index.php
header("Location: https://www.yoursite.com/new_index.php");
exit();
?>

执行以上脚本后,它将客户端浏览器重定向到http://www.yoursite.com/new_index.php 。 在后台,它将发送原始HTTP Location标头以及302状态代码。 302状态代码用于临时重定向,但是如果您要永久重定向,则可以在第三个参数中传递301代码,如以下代码段所示。

<?php
// index.php
header("Location: http://www.yoursite.com/new_index.php", TRUE, 301);
exit();
?>

301永久重定向可让您通知搜索引擎该页面不再可用,并且可以将其替换为新页面。

标题重定向后,为什么要使用Die()Exit()函数?

眼睛敏锐的用户会注意到,我在上面的示例中使用过exit()函数。 实际上,必须在标头重定向后立即使用exit()die()函数来停止脚本执行并避免任何不良结果。

因此,始终建议您在重定向后使用这些功能之一。

著名的错误:标头已发送

如果您是经验丰富的PHP程序员,那么我相信您在日常PHP开发中的某个时刻遇到了这个著名的PHP错误。 但是,对于初学者来说,遇到此错误确实很烦人,因为它确实很难调试和修复。 在大多数情况下,他们甚至不知道它是由标头重定向引起的。

经验法则是,当您在脚本中使用header()函数时,需要确保在此之前不发送任何输出。 否则,PHP会抱怨“标题已发送”错误。 即使您在使用标头函数之前发送了一个空格也可能发生这种情况。

结论

在本文中,我们讨论了PHP编程的重要功能之一:重定向。 首先,我们了解了HTTP重定向的基础知识,然后演示了它在PHP中的工作方式。

探索在CodeCanyon上创建的数千个最好,最有用的PHP脚本 。 只需支付一次一次性费用,您就可以购买这些高质量WordPress主题之一,并为您和您的访客改善网站体验。

翻译自: https://code.tutsplus.com/tutorials/how-to-redirect-with-php--cms-34680

如何使用PHP重定向相关推荐

  1. Linux shell 学习笔记(11)— 理解输入和输出(标准输入、输出、错误以及临时重定向和永久重定向)

    1. 理解输入和输出 1.1 标准文件描述符 Linux 系统将每个对象当作文件处理.这包括输入和输出进程.Linux 用文件描述符(file descriptor)来标识每个文件对象.文件描述符是一 ...

  2. Linux shell 学习笔记(7)— 构建基本脚本(变量、重定向、管道、状态码)

    1. 使用多个命令 如果要两个命令一起运行,可以把它们放在同一行中,彼此间用分号隔开. $ date ; who Mon Feb 21 15:36:09 EST 2014 Christine tty2 ...

  3. usb禁止重定向_远程桌面中的USB重定向技术解析(功能篇)

    在运行远程和虚拟桌面的数据中心内,网络管理员可以对计算环境的各个方面进行控制.只有一点除外,就是本地外围设备. 本地外围设备包括所有连接到终端上的设备,例如USB驱动器.鼠标或打印机.它们逐渐成为终端 ...

  4. Linux/Unix中的重定向简单实例

    "重定向"是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变.令程序与文件一同工作的方式有两种:一种是明确地使用打开文件.关闭文件.读文件.写文件等专门的函数(比如f ...

  5. 解决nohup: 忽略输入并把输出追加到“nohup.out“或者nohup: 忽略输入重定向错误到标准输出端

    解决nohup: 忽略输入并把输出追加到"nohup.out"或者nohup: 忽略输入重定向错误到标准输出端 解决方法: 执行nohup java -jar do_iptable ...

  6. 在Windows 8.1上使用Fiddler重定向http请求进行前端调试

    介绍: fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的"进出"Fiddler的数据(指cookie,ht ...

  7. 使用ATS中的regex_remap插件实现正则匹配的url重定向

    要点总结如下: 1.正向和反向代理可以同时并存,并且remap可以兼容这两种模式. 2.在使用regex_map时,是借助remap的配置来设置,而且remap.so和regex_remap.so已经 ...

  8. 重定向后,如何通过浏览器返回定向之前的页面?

    js实现页面跳转重定向的几种方式 第一种: 代码如下: <script language="javascript"type="text/javascript&quo ...

  9. 输入重定向,输出重定向,管道相关内容及实现方法

    近期,通过实现shell了解了输入重定向,输出重定向,管道- 用自己的话总结定义: 输入重定向:把<右边的文件的内容输入到<左边的命令中. 输出重定向:把运行>左边命令得出的结果输入 ...

  10. Linux下Shell重定向

    1. 标准输入,标准输出与标准错误输出 Linux下系统打开3个文件,标准输入,标准输出,标准错误输出. 标准输入:从键盘输入数据,即从键盘读入数据. 标准输出:把数据输出到终端上. 标准错误输出:把 ...

最新文章

  1. 神探Sherlock如何用AI破案?教你在Excel中搭建一个人脸识别CNN网络
  2. POJ 1679 - The Unique MST(次小生成树)
  3. 手把手教你从零构建属于自己的小linux
  4. (常用API)正则表达式切割练习
  5. android 集成同一interface不同泛型_Dig101:Go之读懂interface的底层设计
  6. 【树链剖分】春季大扫除(P6805)
  7. 【Python】字符串(String)
  8. select、poll和epoll
  9. 机器学习专题(一):绪论
  10. Android:Day03_完美登录案例(使用流和文件来保存登录信息)
  11. 程序是怎么跑起来的? —— CPU 是什么?C/C++程序的运行
  12. Atitit.有分区情况下的表查询策略流程
  13. 【游戏开发创新】Unity狗屁不通文章生成器阐述点赞的意义,可生成文字长图保存到本地(Unity | 附源码 | Text转Texture长图 | 详细教程)
  14. 批量插入图片到Excel中批注中,Excel插件 E灵
  15. 城市大脑从起源到终极状态的7个阶段
  16. 狂肝10个月手搓GPU,他们在《我的世界》里面玩《我的世界》
  17. Flink框架吐血总结,学习与面试收藏这一篇就够了,大数据必备知识体系
  18. 天大《应用统计学》大作业期末考核
  19. 策略路由配置使用.....H3C
  20. java读取社保卡_id 社保卡信息读取 使用读卡器对社保卡信息读取 - 下载 - 搜珍网...

热门文章

  1. Spring5框架-学习总结(结合个人理解)
  2. 胃癌几乎都是吃出来的
  3. 拍摄或者录制视频遇到断电死机该怎么办
  4. 涨薪秘籍之源码篇:Spring全家桶源码解读,大师晋级笔记
  5. flash在线剪切缩放批量修改程序
  6. 关于 win10 系统安装Geomagic Wrap 2017导致一直蓝屏重启解决方案
  7. c语言字节写入文件,C语言文件操作
  8. 票据贴现的意义是怎样的
  9. html dom style pointer-events,如何在CSS中使用pointer-events属性
  10. Python高级编程1-python面向对象初识