2014-01-24 3 views
0

Я использовал ниже код для перенаправления определенного IP-адреса на определенную страницу/веб-сайт. Он отлично работает в Google Chrome, но в Firefox и Internet Explorer, я получаю Ошибка: «Страница не перенаправляется должным образом Firefox обнаружил, что сервер перенаправляет запрос на этот адрес таким образом, который никогда не будет полный «.Перенаправление определенного IP-адреса на определенную страницу в PHP

Код:

<?php 

$visitor = $_SERVER['REMOTE_ADDR']; 

if(preg_match("/192.168.1.187/",$visitor)) { 
header('Location: http://yahoo.com'); 
} 

else { 
header('Location: http://www.google.com'); 

}; 
?> 
+0

Вы отправляете посетителей на страницу? Похоже, вы создали цикл перенаправления. –

+0

@OscarBroman В случае, если состояние не заполнено, и запрашиваемая веб-страница должна открыться и ее рабочий тон для хром. – CodeXerox

+0

есть опечатка ИМО в вашем коде. После еще одной круглой скобки находится точка с запятой. – user1788171

ответ

1

Похоже, существует бесконечное перенаправление на URL, очистить куки раз и попробуйте добавить HTTPS перед URL-адреса и дать выстрел.

Также добавьте exit или die после вашей функции header. Что будет делать.

Как ..

<?php 

$visitor = $_SERVER['REMOTE_ADDR']; 

if(preg_match("/192.168.1.187/",$visitor)) { 
header('Location: https://yahoo.com'); 
exit; //<-- Here 
} 

else { 
header('Location: https://www.google.com'); 
exit; //<-- Here 
}; 
?> 
+0

@shanker Не работает. – CodeXerox

+0

@CodeXerox, Смотрите это. https://support.mozilla.org/en-US/questions/938531 –

+0

@CodeXerox, PS отредактированный ответ. –

0

Испытано сценарий в Nightly 29 (Firefox). Я вообще не получил ошибку. Но вы должны добавить exit за каждым header, чтобы скрипт прерывался. И, возможно, вы должны добавить www перед главной страницей yahoo.

Смежные вопросы