簡體   English   中英

頁面無法使用-ERR_TOO_MANY_REDIRECTS

[英]Page is not working — ERR_TOO_MANY_REDIRECTS

當此代碼在codeigniter中實現時(這種類型的錯誤顯示=>本地主機將您重定向了太多次。)

1)應用程序/配置/ config.php中

    $config['enable_hooks'] = TRUE;

2)應用程序/配置/ hooks.php

    $hook['post_controller_constructor'][] = array(
        'function' => 'checkAdminLogin',
        'filename' => 'authenticate_login.php',
        'filepath' => 'hooks',
    );

3)application / hooks / authenticate_login.php(制作新的php文件(authenticate_login.php))

    function checkAdminLogin() {
        $CI = & get_instance();
        if (!getSession('is_logged_in')) {
            redirect('admin/login');
        } else
            return true;
    }

    function getSession($key) {
        $CI = & get_instance();
        return $CI->session->userdata(trim($key));
    }

當您的訪問者去管理/登錄時,您的代碼將檢測到他尚未登錄,並再次將其重定向到管理/登錄。...一遍又一遍...

您必須檢測登錄頁面路由,並且不能從中重定向。

就像是:

function checkAdminLogin() {
    $CI = & get_instance();
    if (!getSession('is_logged_in'))
    {
        if ($_SERVER['REQUEST_URI']!='/admin/login') {
            redirect('admin/login');
        }else{
            // User is on login page, don't redirect him again
        }
    } else
        return true;
}

但我不確定返回true對您而言意味着什么。 基本上,這里有3種情況:

  1. 登錄
  2. 未登錄,但在登錄頁面上
  3. 未登錄且不在登錄頁面上

因此,您必須考慮所有這些3。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM