Для чего нужен редирект на 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() после редиректа, чтобы прекратить выполнение скрипта.
Радмир
Веб-разработчик, специалист по SEO и ИИ-решениям. Опыт 12+ лет.
Нужна помощь с проектом?
Оставьте заявку — обсудим задачу и предложим решение.