我的页面出现问题,导致重定向过多。您有解决的想法吗? ; ERR_TOO_MANY_REDIRECTS
if (MODE_VENTE_PRIVEE == 'true') {
if ( (!$this->customer->isLoggedOn()) && (!strstr($_SERVER['QUERY_STRING'], 'Account&Login')) ) {
if (
(!strstr($_SERVER['QUERY_STRING'],'Account&Create')) &&
(!strstr($_SERVER['QUERY_STRING'],'Account&PasswordForgotten')) &&
(!strstr($_SERVER['QUERY_STRING'],'Account&CreatePro.php')) &&
(!strstr($_SERVER['QUERY_STRING'],'Info&contact.php'))
) {
$CLICSHOPPING_NavigationHistory->setSnapshot();
HTTP::redirect('index.php?Account&LogIn');
}
}
}
功能
public static function redirect($url, $http_response_code = null) {
if ((strstr($url, "\n") === false) && (strstr($url, "\r") === false)) {
if ( strpos($url, '&') !== false ) {
$url = str_replace('&', '&', $url);
}
header('Location: ' . $url, true, $http_response_code);
}
exit;
}
答案 0 :(得分:2)
问题是您要重定向到Account&LogIn,并且要检查Account&Login(它们是完全不同的字符串),因此陷入了循环。 试试这个:
if (MODE_VENTE_PRIVEE == 'true') {
if ( (!$this->customer->isLoggedOn()) && (!strstr($_SERVER['QUERY_STRING'], 'Account&Login')) ) {
if (
(!strstr($_SERVER['QUERY_STRING'],'Account&Create')) &&
(!strstr($_SERVER['QUERY_STRING'],'Account&PasswordForgotten')) &&
(!strstr($_SERVER['QUERY_STRING'],'Account&CreatePro.php')) &&
(!strstr($_SERVER['QUERY_STRING'],'Info&contact.php'))
) {
$CLICSHOPPING_NavigationHistory->setSnapshot();
HTTP::redirect('index.php?Account&Login');
}
}
}