PHP重定向不工作(在if语句中)

PHP重定向不工作(在if语句中),php,html,redirect,http-headers,Php,Html,Redirect,Http Headers,下面的代码将当前页面与站点根目录进行比较,如果不同,则重定向 这在本地可以正常工作,但在服务器上不行 <?php ob_start(); require_once($_SERVER['DOCUMENT_ROOT'] . '/inc/includes.php'); if (SITE_FULL_URL !== SITE_URL . '/') { redirect(SITE_URL); } else { /* Page Switcher */ switch (

下面的代码将当前页面与站点根目录进行比较,如果不同,则重定向

这在本地可以正常工作,但在服务器上不行

<?php

ob_start();

require_once($_SERVER['DOCUMENT_ROOT'] . '/inc/includes.php');

if (SITE_FULL_URL !== SITE_URL . '/') {

    redirect(SITE_URL);

} else {

    /* Page Switcher */
    switch ($urlarray[0]) {
        case '':
            require_once($_SERVER['DOCUMENT_ROOT'] . '/mod/home/index.php');
            break;
        default:
            require_once($_SERVER['DOCUMENT_ROOT'] . '/mod/404/index.php');
            break;
    }

}

ob_end_flush();
一旦重定向函数被放入if语句中,它就会停止工作

重定向功能如下所示:

function redirect($url) {
    if(!headers_sent()) {
        //If headers not sent yet... then do php redirect
        header('Location: '.$url);
        exit;
    } else {
        //If headers are sent... do javascript redirect... if javascript disabled, do html redirect.
        echo '<script type="text/javascript">';
        echo 'window.location.href="'.$url.'";';
        echo '</script>';
        echo '<noscript>';
        echo '<meta http-equiv="refresh" content="0;url='.$url.'" />';
        echo '</noscript>';
        exit;
    }
}

请在函数结束后提供SITE_FULL_URL和SITE_URL constantsplace die的值。