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的值。