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

        在我们使用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();
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值