Разработка12 сентября 2023 г.👁 4

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

Причин для редиректа множество — переезд сайта, обновление структуры, разные типы пользователей. Разбираем примеры.

Когда нужен редирект

Редирект (перенаправление) — одна из базовых вещей в веб-разработке. Он нужен когда:

  • Сайт переехал на новый домен
  • Изменилась структура URL (как при нашем редизайне dobrosayt.ru)
  • Нужно перенаправить пользователя после авторизации
  • Страница удалена и нужно направить на замену

301 vs 302 редирект

301 (Permanent) — постоянный редирект. Говорит поисковикам: «Старая страница больше не существует, весь вес передаётся новой». Используйте при смене URL.

302 (Temporary) — временный редирект. Старая страница ещё актуальна, но сейчас нужно показать другую. Используйте для временных акций или технических работ.

Примеры на PHP

Простой 301 редирект

header("HTTP/1.1 301 Moved Permanently");
header("Location: https://dobrosayt.ru/uslugi/");
exit();

Редирект с условием

if (!isset($_SESSION["user_id"])) {
    header("Location: /login/");
    exit();
}

Массовый редирект старых URL

$redirects = [
    "/yslygi/" => "/uslugi/",
    "/nashi-raboty/" => "/portfolio/",
    "/prodvijenie-saitov/" => "/uslugi/seo-prodvizhenie/",
];

$uri = $_SERVER["REQUEST_URI"];
if (isset($redirects[$uri])) {
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: " . $redirects[$uri]);
    exit();
}

Важно помнить

Функция header() должна вызываться до любого вывода на страницу. Всегда добавляйте exit() после редиректа, чтобы прекратить выполнение скрипта.

#PHP#SEO
Р

Радмир

Веб-разработчик, специалист по SEO и ИИ-решениям. Опыт 12+ лет.

Нужна помощь с проектом?

Оставьте заявку — обсудим задачу и предложим решение.