if ($pos1!== false)
{
$redirectaddrs = "http://www.iskra-net.ru/"; //полный адрес , если в сети
}
elseif ($pos2!== false)
{
$redirectaddrs = "http://kan.iskra-net.ru/"; //полный адрес , если в сети c внешним ip
}
else
{
$redirectaddrs = "http://forum.iskra-net.ru/";//полный адрес , если это с наружи
};
header("Location: ".$redirectaddrs);
exit;
?>
Обратите внимание, что header должен быть до любого вывода данных на страницу, иначе появится сообщение об ошибке.
Программный скрипт на PHP, который перенаправляет пользователей на различные URL-адреса в зависимости от их IP-адреса. Вот разбивка кода:
<?php// Получение удаленного IP-адреса с помощью getenv()$address=getenv("REMOTE_ADDR");// Поиск позиции '10.' и '82.199.' в IP-адресе$pos1=strpos($address,'10.');$pos2=strpos($address,'82.199.');// Проверка, если IP-адрес начинается с '10.'if($pos1!==false){// Установка URL-адреса перенаправления в http://www.iskra-net.ru/ если IP-адрес начинается с '10.'$redirectaddrs="http://www.iskra-net.ru/";}// Проверка, если IP-адрес начинается с '82.199.'elseif($pos2!==false){// Установка URL-адреса перенаправления в http://kan.iskra-net.ru/ если IP-адрес начинается с '82.199.'$redirectaddrs="http://kan.iskra-net.ru/";}else{// Установка по умолчанию URL-адреса перенаправления в http://forum.iskra-net.ru/ для всех других IP-адресов$redirectaddrs="http://forum.iskra-net.ru/";}// Отправка HTTP-заголовка Location для перенаправления пользователя на указанный URLheader("Location: ".$redirectaddrs);// Имедителльное завершение скрипта после отправки заголовка Location, чтобы предотвратить любое дальнейшее вывод в браузерexit;?>
Скрипт использует функцию getenv() для получения удаленного IP-адреса пользователя. Затем он проверяет, если IP-адрес начинается с '10.' или '82.199.', и устанавливает URL-адрес перенаправления соответственно. Если IP-адрес не соответствует ни одному из этих условий, он по умолчанию использует третий URL.
Функция header() используется для отправки HTTP-заголовка Location для перенаправления пользователя на указанный URL. Статements exit используется для немедленного завершения скрипта после отправки заголовка Location, чтобы предотвратить любое дальнейшее вывод в браузер.
Обратите внимание, что, как упоминается в комментарии кода, функция header() должна быть вызвана до отправки любого вывода в браузер, иначе возникнет ошибка.
В статье рассмотрен пример использования редиректа (Redirect) в PHP для перенаправления пользователей на соответствующие страницы в зависимости от их IP-адреса.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.