Привет, друзья! Павел Гречко на связи, и в этой статье я расскажу вам про 301 редиректы в .htaccess — готовый список шаблонов, правила безопасности и лайфхаки, которые спасут ваш сайт от падения трафика и поломанных форм.
- 1. Введение — Зачем это всё нужно?
- 2. Основы: Что такое .htaccess и как с ним работать
- 2.1. Что это за файл?
- 2.2. Где взять и как редактировать?
- 2.3. 6 Железных правил работы с .htaccess
- 3. Готовые шаблоны 301 редиректов — с примерами и пояснениями
- 3.1. Редирект со страницы на страницу
- 3.2. Редирект с домена на домен
- 3.3. Редиректы с GET-параметрами
- 3.4. Редирект HTTP → HTTPS (5 рабочих вариантов)
- 3.5. Редиректы со слешами (/)
- 3.6. Редирект www ↔ без www
- 3.7. Массовые редиректы (категории, расширения)
- 3.8. Редиректы на страницы ошибок
- 3.9. Редирект с верхнего регистра в нижний
- 3.10. Защита и безопасность
- Закрыть сайт от индексации (временно):
- Защита от хотлинкинга (воровства картинок):
- Блокировка вредоносных ботов:
- 4. Опасные ошибки и как их избежать
- 5. Инструменты для проверки
- 6. Заключение — Лайфхаки от практика
- 8. FAQ
- 9. Полезные ссылки
Если вы хоть раз сталкивались с переездом сайта, сменой ЧПУ, редизайном или просто хотите избавиться от дублей — эта статья станет вашей технической библией. Здесь нет воды — только проверенные шаблоны, реальные примеры, предупреждения и инструкции, которые работают в 2025 году.
✅ Сохраните эту статью в закладки — вы будете возвращаться к ней снова и снова.
1. Введение — Зачем это всё нужно?
301 редирект — это постоянное перенаправление.
Он говорит поисковикам: «Эта страница уехала навсегда, вот её новый адрес — перенеси туда весь вес, трафик и позиции».
Без 301 редиректа:
- Теряете трафик.
- Получаете дубли страниц.
- Портите поведенческие факторы.
- Можете улететь из индекса.
А .htaccess — это главный инструмент управления редиректами на серверах Apache. Он позволяет настраивать правила без доступа к основному конфигу — идеально для хостингов.
⚠️ ВАЖНО: После настройки глобальных правил (HTTPS, WWW, слеши) — ставьте задачу разработчику: проверить формы и корзину! Часто после редиректов перестают приходить заявки и заказы. Не игнорируйте это.
2. Основы: Что такое .htaccess и как с ним работать
2.1. Что это за файл?
.htaccess — конфигурационный файл веб-сервера Apache.
Он позволяет управлять:
- Редиректами
- Правами доступа
- Кэшированием
- Защитой от ботов
- Кастомными страницами ошибок
И всё это — без правки основного конфига сервера.
2.2. Где взять и как редактировать?
Файл .htaccess находится в корне сайта (там же, где index.php или index.html).
👉 Как его увидеть?
- Включите отображение скрытых файлов в вашем FTP-клиенте (например, FileZilla).
- Или через файловый менеджер хостинга.
🚫 НЕ РЕДАКТИРУЙТЕ ФАЙЛ ЧЕРЕЗ АДМИНКУ САЙТА!
Если что-то пойдёт не так — сайт упадёт, и вы не сможете зайти в админку, чтобы поправить.
Редактируйте только через FTP или файловый менеджер хостинга.
💡 Новичок? → Гайд по работе с FTP (скачать FileZilla, подключиться, редактировать файлы)
2.3. 6 Железных правил работы с .htaccess
Перед тем как лезть в файл — запомните эти правила. Они спасут вам жизнь:
- Имя файла — строго
.htaccess
Без.txt,.old,.backup. Иначе сервер его проигнорирует. - Вставляйте в самое начало файла:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /Без этого — редиректы не заработают.
- Порядок правил — священен:
- Сначала — постраничные редиректы (страница → страница).
- Потом — раздел → раздел.
- В конце — глобальные (HTTPS, WWW, слеши).
- Комментарии =
#
Всё, что идёт после#— игнорируется сервером.
Пишите пояснения — через год сами скажете себе спасибо:
# Редирект старой категории товаров
RewriteRule ^old-category/(.*)$ /new-category/$1 [R=301,L]- Создайте резервную копию
Перед любым редактированием — скачайте оригинал себе на ПК.
Если что-то сломается — загрузите обратно за 10 секунд. - Тестируйте на примерах
Не гадайте — смотрите реальные кейсы ниже. Я собрал всё, что работает.
3. Готовые шаблоны 301 редиректов — с примерами и пояснениями
📌 Все примеры адаптированы под разные CMS и кейсы. Меняйте
site.ruна свой домен!
3.1. Редирект со страницы на страницу
Самый частый кейс — поменяли URL статьи, товара или услуги.
# Простой редирект
Redirect 301 /old-page.html https://site.ru/new-page.html
# Для MODX
RewriteRule ^old-page/$ /new-page/ [R=301,NC,L]
# Для OpenCart (с параметрами)
RewriteCond %{QUERY_STRING} ^_route_=old-page/old-page/$
RewriteRule ^(.*)$ https://site.ru/new-page/new-page/? [R=301,L]
# Кириллица → латиница (если домен на кириллице)
Redirect 301 /ru/product/старая-страница/ https://xn--b1aghu1a.xn--p1acf/ru/product/novaya-stranicza/⚠️ URL с пробелами? Заключайте в кавычки:
Redirect 301 "/old page with spaces" "https://site.ru/new-page"
3.2. Редирект с домена на домен
Переезд на новый домен? Вот как перенаправить всё:
# Только главная → главная нового сайта
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ https://new-site.ru/ [L,R=301]
# Все страницы → все страницы нового домена
RewriteCond %{HTTP_HOST} ^old-site\.ru$ [NC]
RewriteRule ^(.*)$ https://new-site.ru/$1 [R=301,L]3.3. Редиректы с GET-параметрами
Фильтры, UTM-метки, ID товаров — всё можно перенаправить.
# Редирект по product_id
RewriteCond %{QUERY_STRING} (?:^|&)product_id\=858(?:$|&)
RewriteRule ^index\.php$ /catalog/new-product? [L,R=301]
# Комплексный редирект (URI + параметры)
RewriteCond %{REQUEST_URI} ^/component/virtuemart/$
RewriteCond %{QUERY_STRING} ^page=shop.browse&category_id=12
RewriteRule ^.*$ /arenda-gruzovogo-avto.html? [R=301,L]3.4. Редирект HTTP → HTTPS (5 рабочих вариантов)
Безопасность и SEO требуют HTTPS. Вот рабочие шаблоны:
# Универсальный вариант
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Альтернативы — если первый не сработает:
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]3.5. Редиректы со слешами (/)
Убираем дубли и нормализуем URL.
# Убрать дублирующие слеши
RewriteCond %{THE_REQUEST} //
RewriteRule .* /$0 [R=301,L]
# Убрать слеш в конце (если не директория)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
# Добавить слеш в конце (если не файл)
# ⚠️ НЕ ИСПОЛЬЗУЙТЕ на Elementor!
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..+$
RewriteRule ^(.*)$ $1/ [L,R=301]3.6. Редирект www ↔ без www
Выбираем канонический домен.
# С www → без www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
# Без www → с www
RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]
RewriteRule ^(.*)$ https://www.site.ru/$1 [R=301,L]
# Для кириллических доменов (Punycode)
RewriteCond %{HTTP_HOST} ^www\.xn--80adaxca8c\.xn--p1ai$ [NC]
RewriteRule ^(.*)$ https://xn--80adaxca8c.xn--p1ai/$1 [R=301,L]💡 Комбо-правило: HTTPS + WWW за 1 редирект:
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
3.7. Массовые редиректы (категории, расширения)
# Категория → категория
RewriteCond %{REQUEST_URI} ^(.*)/old-category/(.*)$
RewriteRule ^(.*)$ %1/new-category/%2 [R=301,L]
# Убрать .html
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+)\.html\ HTTP
RewriteRule ^([^.]+)\.html$ /$1 [R=301,L]
# Убрать index.php / index.html
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html)\ HTTP/
RewriteRule ^(.*)index\.(php|html)$ /$1 [R=301,L]3.8. Редиректы на страницы ошибок
Кастомные 404, 403, 500 — улучшают UX.
ErrorDocument 404 /404.html
ErrorDocument 403 /errors/403.html
ErrorDocument 500 /errors/500.html3.9. Редирект с верхнего регистра в нижний
Осторожно — может сломать картинки или создать циклы.
# Вариант 1 (если поддерживается)
RewriteCond expr "tolower(%{REQUEST_URI}) =~ /(.+)/"
RewriteRule [A-Z] %1 [R=301,L]
# Вариант 2 (требует правки httpd.conf — через поддержку хостинга)
# Добавить в httpd.conf: RewriteMap lc int:tolower
# Затем в .htaccess:
RewriteCond %{REQUEST_URI} ^[^A-Z]*[A-Z].*
RewriteRule ^ https://%{HTTP_HOST}${lc:%{REQUEST_URI}} [L,R=301]3.10. Защита и безопасность
Закрыть сайт от индексации (временно):
SetEnvIfNoCase User-Agent ".*(googlebot|yandex|bingbot|baiduspider).*" search_robot
Deny from env=search_robotЗащита от хотлинкинга (воровства картинок):
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www\.)?site\.ru [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,NC,L]Блокировка вредоносных ботов:
SetEnvIfNoCase User-Agent ".*(AhrefsBot|SemrushBot|MegaIndex|spbot).*" botstop
Deny from env=botstop4. Опасные ошибки и как их избежать
- Циклические редиректы — проверяйте условия. Используйте
curl -Iдля диагностики. - Ломаются формы — особенно после правил со слешами или HTTPS. Всегда проверяйте заказы!
- OpenCart баг — если редиректы идут после
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]— перенесите их ВЫШЕ. - Неправильный порядок — сначала частные, потом глобальные.
- Забыли
[L]— правило не останавливается → непредсказуемое поведение.
5. Инструменты для проверки
- Консоль:
curl -I https://site.ru/old-page - Онлайн: Redirect Checker, HTTP Status Code Checker
- Браузер: Redirect Path (расширение Chrome)
- SEO: Screaming Frog, Sitebulb, Ahrefs Site Audit
6. Заключение — Лайфхаки от практика
Друзья, если вы дочитали до сюда — вы уже на шаг впереди 90% SEO-специалистов.
📌 Сохраните эту статью — пригодится при:
- Переезде сайта
- Смене CMS
- Обновлении ЧПУ
- Оптимизации структуры
✅ Обязательно:
- Тестируйте каждый редирект.
- Комментируйте правила.
- Ставьте задачу разработчику — проверить формы и корзину.
👍 Если материал помог — поставьте лайк!
💬 Есть вопросы или нужны дополнительные шаблоны — пишите в комментариях!
8. FAQ
❓ Что делать, если сайт упал после правки?
→ Загрузите резервную копию через FTP. Всё вернётся за 30 секунд.
❓ Можно ли использовать 302?
→ Только для временных перенаправлений. Для постоянных — только 301.
❓ Сколько хранятся 301 редиректы?
→ Вечно. Браузеры и поисковики кэшируют их надолго.
❓ Как проверить, работает ли редирект?
→ Через curl -I в консоли или онлайн-чекеры типа Redirect Checker.
9. Полезные ссылки
- Официальная документация mod_rewrite
- Гайд по работе с FTP (FileZilla)
- Google: Как правильно переезжать сайтом
Автор: Павел Гречко
Технический SEO-специалист с 8+ годами опыта. Помог переуехать 127 сайтам без потерь трафика.