Как сделать редирект со всех страниц домена на одну страницу другого сайта

    Перенаправление (редирект) всего трафика с одного домена на одну конкретную страницу другого ресурса - распространённая задача при смене адреса сайта, объединении проектов или завершении работы старого домена. В этой инструкции мы разберём, как настроить массовый редирект 301 с помощью файла .htaccess (Apache), конфигурации Nginx и скрипта PHP. Вы узнаете, как правильно выполнить переадресацию, чтобы сохранить вес ссылок и не потерять посетителей.

    Зачем нужен редирект 301 с одного домена на другой

    Постоянный редирект (код 301) сообщает поисковым системам, что страницы старого сайта навсегда перемещены на новый адрес. Это позволяет передать ссылочный вес (PageRank) и избежать дублирования контента. Главное преимущество - пользователи автоматически попадают на нужную страницу, а поисковики обновляют индекс. Если вы переносите весь трафик на одну страницу (например, главную или страницу с контактами), важно настроить редирект для всех URL старого домена без исключения.

    Настройка редиректа через .htaccess (Apache)

    Если ваш сервер работает на Apache, самый простой способ - использовать файл .htaccess в корневой директории старого домена. Добавьте следующие строки:

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^старый-домен\.ru$ [NC]
    RewriteRule ^(.*)$ https://новый-сайт.ру/нужная-страница [R=301,L]

    Замените старый-домен.ru на ваш исходный домен, а https://новый-сайт.ру/нужная-страница - на целевой URL. Эта конструкция перехватывает любой запрос к старому домену и отправляет пользователя на единственную страницу. Убедитесь, что модуль mod_rewrite включён.

    Настройка редиректа в Nginx

    Для серверов Nginx перенаправление задаётся в блоке server конфигурационного файла. Пример:

    server {
        listen 80;
        server_name старый-домен.ru www.старый-домен.ru;
        return 301 https://новый-сайт.ру/нужная-страница;
    }

    Эта директива отправляет постоянный редирект на указанный URL для всех запросов. После внесения изменений перезагрузите Nginx командой sudo nginx -s reload. Если старый домен использует HTTPS, не забудьте продублировать блок для порта 443.

    Редирект через PHP (универсальный метод)

    Если у вас нет доступа к настройкам веб-сервера, можно реализовать перенаправление через скрипт PHP. Создайте файл index.php в корне старого домена и поместите в него код:

    <?php
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: https://новый-сайт.ру/нужная-страница');
    exit();
    ?>

    Важно, чтобы этот файл обрабатывался для всех запросов. Для этого настройте сервер так, чтобы все URL направлялись на index.php (например, через .htaccess или конфигурацию Nginx). Данный метод подходит для простых случаев, но менее производителен при высокой нагрузке.

    Проверка и отладка редиректа

    После настройки обязательно протестируйте перенаправление. Откройте несколько разных страниц старого домена (например, старый-домен.ru/любой-путь) и убедитесь, что браузер перенаправляет на целевой URL. Используйте инструменты вроде curl или онлайн-сервисы проверки HTTP-заголовков. Код ответа должен быть 301. Если редирект не срабатывает, проверьте синтаксис конфигурации и права доступа к файлам.

    Часто задаваемые вопросы

    Часто задаваемые вопросы