zoukankan      html  css  js  c++  java
  • Apache本地环境下出现循环重定向

    最近发现一个很奇怪的问题,用了很久的apache+php访问项目,昨天突然不行了,出现了这个

    然后我一点点测试,我用的是TP框架,Indexaciton的index中调用框架里的一个redirect函数

    public function index() {
            /*if(empty($_SESSION['admin']['admin_id'])) {
               $this->redirect('Public/login','' , 0,'页面跳转中~');
            }*/
    
            if(empty($_SESSION['admin']['admin_id'])) {
                if(!checkCookieAdmin()){
                    $this->redirect('Public/login','' , 0,'页面跳转中~');
                }
            }     
            $this->display('Public:index');
        }

    在tp action.class.php redirect函数中调用redirect

    protected function redirect($url,$params=array(),$delay=0,$msg='') {
            if(C('LOG_RECORD')) Log::save();
            $url    =   U($url,$params);
            redirect($url,$delay,$msg);
        }

    functions.php 里面的redirect函数

    // URL重定向
    function redirect($url,$time=0,$msg='')
    {
        //多行URL地址支持
        $url = str_replace(array("
    ", "
    "), '', $url);
        if(empty($msg))
            $msg    =   "系统将在{$time}秒之后自动跳转到{$url}!";
        if (!headers_sent()) {
            // redirect
            if(0===$time) {
                header("Location: ".$url);
            }else {
                header("refresh:{$time};url={$url}");
                echo($msg);
            }
            exit();
        }else {
            $str    = "<meta http-equiv='Refresh' content='{$time};URL={$url}'>";
            if($time!=0)
                $str   .=   $msg;
            exit($str);
        }
    }

    这样分析下来,定向都是指向Public中的login的,但是不知道为什么就是不渲染html页面,始终出现循环重定向。

    解决的办法:换成了Ngnix服务器,竟然好了!好了!!!!很是神奇啊。。。。

    希望各位大神们道出其中的奥秘!

  • 相关阅读:
    024.Zabbix告警等级机制
    023.Zabbix自定义(邮箱)脚本告警-02
    022.Zabbix自定义(邮箱)脚本告警01
    021.Zabbix的邮件告警-01
    020.Zabbix的Actions配置
    019.Zabbix的Trigger及相关函数
    018.Zabbix维护时间和模板导入
    017.Zabbix宏介绍
    016.Zabbix聚合监控
    015.Zabbix的日志监控配置
  • 原文地址:https://www.cnblogs.com/angellating/p/5853903.html
Copyright © 2011-2022 走看看