以下代码将当前页面与站点根目录进行比较,如果不同则重定向。
这在本地工作正常,但不在服务器上。
<?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;
}
}