您的位置:首页 > 其它

重定向Redirect函数实现的原理和方法

2017-02-07 10:44 459 查看
        在我们使用php框架进行开发工作中,都会发现很多框架中存在着这么一个函数:redirect(),比如ThinkPHP和Laravel框架等;这个函数就是用于将重定向,例如在我们进行登录操作时,登录信息验证不正确,我们就会使用重定向让用户重新访问登录页。

1、重定向的原理

        该方法通过修改http协议的header部分,对浏览器下达重定向指令的,让浏览器对在location中指定的url提出请求,使浏览器显示重定向网页的内容。该方法可以接受绝对的或相对的urls。如果传递到该方法的参数是一个相对的url,那么web container在将它发送到客户端前会把它转换成一个绝对的url。

2、实现方式

在这里以php语言进行实现。

<?php
/**
* =======================================
* Created by Zhihua_W.
* Author: Wei ZhiHua
* Date: 2017/2/7 0007
* Time: 上午 10:21
* Project: CSDN
* Power: 重定向实现
* =======================================
*/

/**
* 重定向实现
* @param string $url
*/
function redirect($url = '')
{
if (empty($url)) {
if (!empty($_REQUEST['ref_url'])) {
$url = $_REQUEST['ref_url'];
} else {
$url = getReferer();
}
}
header('Location: ' . $url);
exit();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐