- Home »

Создание временных и постоянных редиректов в Apache и Nginx
Сегодня разберёмся в чём соль редиректов на серверах Apache и Nginx — зачем они нужны и как за минуту запилить временный или постоянный редирект любой сложности. Редиректы — must-have для переезда сайтов, SEO-фишек, A/B тестирования, спасения от дублей и просто для редизайна структуры сайта без потери трафика. В статье — реальные команды, грабли и фишки, сравнения и чуть-чуть гик-магии для автоматизации. Поехали!
Как это работает вообще?
- Редирект 301 — постоянный, говорит поисковикам “Эй, страница навсегда переехала”. SEO-дружелюбно.
- Редирект 302 — временный, для тестов или A/B экспериментов. Показывает: страница тут, но скоро вернётся.
Web-серверы творят редиректы через HTTP-статусы, которые браузеры и поисковики понимают даже без куки-файлов. Всё на уровне протокола.
Быстрый старт: Apache vs Nginx
Кто? | Где настраивать | Типичная запись 301 | Типичная запись 302 | Гибкость |
---|---|---|---|---|
Apache | .htaccess или VirtualHost |
Redirect 301 /oldpage /newpage |
Redirect 302 /temp /other |
Максимум, поддержка RegExp, флагов. |
Nginx | server или location в конфиге |
rewrite ^/old$ /new permanent; |
rewrite ^/temp$ /other redirect; |
Очень быстро, но ограничения синтаксиса. |
Практика: быстрые редиректы
Для Apache (.htaccess или VirtualHost):
Кинь команды в .htaccess
в корне сайта или внутрь секции <VirtualHost>
в конфиге.
# Постоянный редирект одной страницы
Redirect 301 /oldpage.html /newpage.html
# Временный редирект для тестовой страницы
Redirect 302 /promo /test-promo
# Регулярки: редирект всех .php в новую директорию
RewriteEngine On
RewriteRule ^old_dir/(.*)\.php$ /new_dir/$1.php [R=301,L]
Для Nginx (пример server block):
# Постоянный редирект всей папки
location /old/ {
return 301 /new/;
}
# Временный редирект конкретного URL
rewrite ^/experiment$ /variantB redirect;
# Брутальный редирект всего домена
server {
listen 80;
server_name oldsite.com;
return 301 $scheme://newsite.com$request_uri;
}
Сравнение: когда что использовать?
- Apache — если нужны сложные условия, переезд с .htaccess, нестандартная логика (например, в shared-хостинге).
- Nginx — для скорости, лаконичности, и если редиректы нужны массово или под высокую нагрузку.
- В крупных проектах — часто комбинируют (Apache — внутренняя кухня, Nginx спереди для отдачи и редиректов).
Полезные команды для мгновенного старта
# Перезапуск Apache
sudo systemctl reload apache2
# Проверка конфигурации Apache
apachectl configtest
# Перезапуск Nginx
sudo systemctl reload nginx
# Проверка конфигурации Nginx
nginx -t
Альтернативы, похожие решения, утилиты
- Модуль mod_rewrite для сложных сценариев в Apache.
- Сторонние прокси-сервера (например, Traefik, Caddy), если хочется автоконфигурацию.
- Cloudflare Page Rules — для облачного уровня редиректов.
Нестандартный гик-хак: динамические редиректы
Можно использовать скрипты на Python, Bash, PHP для генерации конфигов на лету. Например, авто-генерить список redirect-правил из базы CSV и бахать их в конфиг Nginx через sed
или jinja2
. Можно строить сложную автозамену старых URL для SEO-миграций без ручного труда.
Что это даёт для автоматизации?
- Реализация zero-downtime переезда между доменами — спокойно обновляешь конфиг скриптом и жмёшь reload.
- Массовое A/B тестирование без всяких js-редиректов.
- Генерация правил из git-репозитория — удобно для devops!
Вывод и рекомендации
Если нужен быстрый перенос страниц, доменов, SEO-оптимизация — редиректы 301/302 лучший инструмент. На Apache работай с .htaccess, на Nginx делай всё в server block’ах. Для крупных переездов автоматизируй через скрипты — избавишься от ручного ада. Мониторь ошибки после настроек (grep 404 в логе). Не забывай тестировать всё локально и на staging.
- Для старта с VPS — жми сюда: https://arenda-server.cloud/vps
- Для выделенного железа — https://arenda-server.cloud/dedicated
Официальные доки для профи: Apache HTTPD Docs, Nginx Docs
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.