首页 / PHP / 如何在PHP中进行重定向?
如何在PHP中进行重定向?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何在PHP中进行重定向?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1679字,纯文字阅读大概需要3分钟。
内容图文
![如何在PHP中进行重定向?](/upload/InfoBanner/zyjiaocheng/717/7373a12a9c4e46fd82ebd043d57666cd.jpg)
是否可以通过使用PHP将用户重定向到不同的页面?
假设用户访问www.example.com/page.php并且我想将它们重定向到www.example.com/index.php,如何在不使用元刷新的情况下这样做?可能吗?
这甚至可以保护我的页面免受未经授权的用户
解决方法:
现有答案摘要加上我自己的两分钱:
1.基本答案
您可以使用header()函数发送新的HTTP标头,但必须在任何HTML或文本之前将其发送到浏览器(例如,在<!DOCTYPE ...>声明之前).
header('Location: '.$newURL);
2.重要细节
die()或exit()
header("Location: http://example.com/myOtherPage.php");
die();
为什么你应该使用die()或exit():The Daily WTF
绝对或相对URL
自2014年6月起,可以使用绝对和相对URL.见RFC 7231,它取代了旧版RFC 2616,其中只允许使用绝对URL.
状态代码
PHP的“位置” – 头仍然使用HTTP 302重定向代码,但这不是您应该使用的代码.您应该考虑301(永久重定向)或303(其他).
注意:W3C mentions 303-header与“许多pre-HTTP / 1.1用户代理”不兼容.目前使用的浏览器都是HTTP / 1.1用户代理.对于蜘蛛和机器人等许多其他用户代理来说并非如此.
3.文件
HTTP标头和PHP中的header()函数
> What the PHP manual says
> What Wikipedia says
> What the W3C says
4.替代品
您可以使用http_redirect($url)的替代方法;需要安装PECL package pecl.
5.助手功能
此功能不包含303状态代码:
function Redirect($url, $permanent = false)
{
header('Location: ' . $url, true, $permanent ? 301 : 302);
exit();
}
Redirect('http://example.com/', false);
这更灵活:
function redirect($url, $statusCode = 303)
{
header('Location: ' . $url, true, $statusCode);
die();
}
6.解决方法
如前所述,header()重定向仅在写出任何内容之前工作.如果输出invoked inmidst HTML,它们通常会失败.然后你可以使用HTML标题解决方法(不是很专业!),如:
<meta http-equiv="refresh" content="0;url=finalpage.html">
或者甚至是JavaScript重定向.
window.location.replace("http://example.com/");
内容总结
以上是互联网集市为您收集整理的如何在PHP中进行重定向?全部内容,希望文章能够帮你解决如何在PHP中进行重定向?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。