codeigniter - 重定向到https和www导致无限重定向循环

时间:2016-04-19 17:03:44

标签: php codeigniter redirect

我正试图强制从www使用https重定向到index.php,但我不断获得无限重定向循环。

这是我的代码:

的index.php:

$configs = include_once($_SERVER['DOCUMENT_ROOT'] . '/application/config/maintenance.php');

if (stripos($_SERVER['SERVER_PROTOCOL'], 'https') === false && $configs['protocol'] == 'https') {
    $protocol = 'https://';
    $protocolRedirect = true;
} else {
    $protocol = 'http://';
    $protocolRedirect = false;
}

if (strtolower(substr($_SERVER['HTTP_HOST'], 0, 4)) !== 'www.') {
    $url = $protocol . 'www.' . $_SERVER['HTTP_HOST'];
    $wwwRedirect = true;
} else {
    $url = $protocol . $_SERVER['HTTP_HOST'];
    $wwwRedirect = false;
}

if ($_SERVER['REQUEST_URI'] != '/') {
    $url .= $_SERVER['REQUEST_URI'];
}

if ((isset($wwwRedirect) && $wwwRedirect == true) || (isset($protocolRedirect) && $protocolRedirect == true )) {
    header('Location: ' . $url);
    exit();
}

maintenance.php:

return array(
    'protocol' => 'https'
);

知道为什么吗?

注意:服务器正在运行Nginx - 但我不想重定向它。

0 个答案:

没有答案