Найти тему

Для чего нужен редирект на PHP.

Оглавление

Доброго времени суток дамы и господа. Этот короткий пост о редиректе на php.

ДЛЯ ЧЕГО НУЖЕН РЕДИРЕКТ НА PHP

Причин для редиректа может возникнуть множество. Например, есть основной сайт example.ru и есть второй домен e-xample.ru, который компания сразу выкупила для себя. Второй сайт пустой и контента для него пока нет.

Чтобы второй сайт не лежал без дела создаем в корне сайта e-xample.ru файл index.php

в этом файле прописываем следующий код:

<?php
header ('Location: https://example.ru/');
?>

Сохраняем и проверяем. Заходим на e-xample.ru и нас должно средиректить на example.ru

Если ваш файл index.php уже заполнен каким-то кодом, то желательно разместить код редиректа в самом верху.

Аналогично работает редирект и для внутренних страниц сайта. Например, есть страница сайта example.ru/stranica1.html. нам нужно чтобы с этой страницы пользователя перебрасывало на example.ru/stranica2.html

Прописываем соответствующий код на example.ru/stranica1.html.

<?php
header ('Location: example.ru/stranica2.html');
?>

Сохраняем страницу и смотрим результат. При открытии страницы example.ru/stranica1.html нас должно перебросить на example.ru/stranica2.html.

PHP - серверный язык программирования, перенаправление будет происходить на стороне сервера.

ПЕРЕАДРЕСАЦИЯ В ЗАВИСИМОСТИ ОТ РОЛИ ПОЛЬЗОВАТЕЛЯ.

Как пример можно разобрать ситуацию, когда на вашем сайте есть несколько типов пользователей. Обычные посетители, авторизованные пользователи, администратор.

Допустим, что на сайте есть раздел личный кабинет example.ru/lk/, уровень доступа к которой у каждого пользователя разный. То есть, при входе в раздел /lk/, в зависимости от типа пользователя нужно его перенаправить на определенную страницу.

С помощью функции header настроим перенаправления каждого отдельного типа пользователя на определенные страницы:

  • Неавторизованного пользователя отправим на страницу авторизации
  • Авторизованного отправим в личный кабинет на страницу заказов
  • Админу же покажем страницу редактирования каталога

<?php
//$user_role //0 no authorized user //1 admin //2 authorized user switch ($user_role){
case 0:
header ('Location: /auth/authorization.php');
break;
case 1:
header ('Location: /lk/orders.php');
break; case 2:
header ('Location: /lk/admin.php');
break;
}
?>

Мы разобрали несколько вариантов редиректа на php. Надеюсь этот короткий пост будет для вас полезен.