Генератор 301-редиректов
Из списка пар «старый адрес → новый» собирает готовые правила постоянного редиректа (301) для nginx, Apache (.htaccess) или таблицы CSV. Незаменимо при переезде сайта, смене структуры URL или переходе на ЧПУ — чтобы не потерять накопленный вес страниц и не отдавать поисковику 404. Считается в браузере.
Старый → новый URL
0 строкПравила редиректа
0 правилКогда нужен 301-редирект
При переезде страницы старый адрес должен вести на новый — иначе теряются трафик и ссылочный вес. Инструмент собирает правила для .htaccess или nginx.
Когда пригодится: склеить http и https, перенести вес при смене URL, убрать дубли.
Как это встроить в работу над сайтом — в разборе Canonical и дубли.
Типовые сценарии с готовым кодом
Пять задач, которые ищут чаще всего. Для постраничного переезда (список «старый → новый») используйте генератор выше, а эти правила — для типовых случаев на уровне всего сайта. Замените example.com на свой домен.
1. Принудительный HTTPS (с http на https)
Самый частый случай: весь трафик с незащищённого http уводим на https. Ставится один раз и закрывает дубли http/https.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}2. Убрать или добавить www
Зеркала с www и без — это дубли. Выберите один главный вид и склейте на него. Ниже — вариант «убрать www» (с www.example.com на example.com).
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]server {
server_name www.example.com;
return 301 https://example.com$request_uri;
}Чтобы, наоборот, добавлять www — меняйте местами: условие на «без www», редирект на https://www.example.com.
3. Переезд с домена на домен
При смене домена нужно перенести вес постранично: каждый старый URL ведёт на тот же путь нового домена. Код ставится на старом сайте.
RewriteEngine On RewriteRule ^(.*)$ https://new-domain.ru/$1 [R=301,L]
server {
server_name old-domain.ru www.old-domain.ru;
return 301 https://new-domain.ru$request_uri;
}4. Смена структуры URL (массово)
Когда меняется ЧПУ и адреса не совпадают по шаблону, редиректы делаются попарно. Это как раз работа для генератора выше: вставьте список «старый → новый» и заберите все правила разом. Одиночное правило выглядит так:
Redirect 301 /old-category/old-page/ /new-category/new-page/
location = /old-category/old-page/ { return 301 /new-category/new-page/; }5. Убрать /index.html (или /index.php) из адреса
Чтобы /index.html не плодил дубль с «чистым» адресом, режем его постоянным редиректом на каталог.
RewriteEngine On
RewriteCond %{THE_REQUEST} \s/+(.*/)?index\.(html?|php)[\s?] [NC]
RewriteRule ^(.*?)index\.(html?|php)$ /$1 [R=301,L]location ~ ^(.*)/index\.(html?|php)$ { return 301 $1/; }Справочник: директивы и флаги .htaccess
Чтобы код выше не был магией, вот что значат основные директивы и флаги в квадратных скобках.
RewriteEngine On — включает модуль перезаписи (без него правила не работают). RewriteCond — условие, которое проверяется перед правилом. RewriteRule — само правило: «шаблон → куда». Redirect 301 — простой редирект без регулярных выражений, для отдельных адресов.
| [R=301] | Постоянный редирект, код 301 (передаёт вес). Без числа — временный 302. |
| [L] | Last — последнее правило: прекратить обработку, не применять следующие. |
| [NC] | No Case — без учёта регистра (Page и page считаются одинаковыми). |
| [QSA] | Query String Append — сохранить параметры из адреса (?utm=…). |
| [F] | Forbidden — вернуть 403, доступ запрещён. |
| [G] | Gone — вернуть 410: страница удалена навсегда (для выпиливания из индекса). |
Редиректы в WordPress, Tilda и Битрикс
`.htaccess` работает не везде — он нужен только на Apache. Вот как обстоят дела в популярных системах.
WordPress
На Apache-хостинге правила кладут в .htaccess в корне — но вне блока # BEGIN WordPress, иначе CMS их перезапишет. Проще и безопаснее плагин Redirection: он ведёт список 301 прямо в админке, без доступа к файлам. На nginx-хостинге .htaccess не действует — только плагин или конфиг сервера.
Tilda
Своего .htaccess у Tilda нет — код сервера вам недоступен. Постраничные 301 настраиваются в личном кабинете хостинга или домена (либо через внешний прокси/CDN). JS-редирект через «вставку кода» — крайний вариант: для пользователя он работает, но вес как полноценный 301 передаёт хуже.
1С-Битрикс
Битрикс крутится на Apache+nginx, поэтому .htaccess в корне обычно работает — правила кладут туда. Альтернатива — встроенный модуль «Управление структурой» → правила обработки адресов или urlrewrite.php для сложной логики.
Как проверить, что редиректы работают
После настройки старые адреса должны отдавать код 301 и сразу открывать новую страницу — без промежуточных переходов. Цепочка из нескольких редиректов (301 → 301 → 200) теряет вес и замедляет загрузку, поэтому важно проверять не только код, но и длину цепочки. Чем удобно это сделать:
- httpstatus.io — проверяет коды ответов и всю цепочку редиректов, можно списком сразу по многим URL.
- bertal.ru — показывает полные HTTP-заголовки и ответ сервера, удобен для разбора одного адреса (на русском).
- Screaming Frog → отчёт Reports → Redirects → Redirect Chains — для массовой проверки всего сайта после переезда: ловит цепочки и петли.
- В терминале — одной командой:
curl -I https://example.com/old-page/покажет статус и заголовокLocation.
Правило простое: если видите 301 и сразу 200 на новом адресе — всё в порядке. Если 302 — вес не передаётся, поправьте на 301. Если цепочка длиннее одного шага — сократите её до прямого редиректа.
Как пользоваться
- В левое поле вставьте строки вида «старый-адрес → новый-адрес». Разделитель между ними — табуляция (удобно копировать из Excel), запятая или пробел. По одной паре на строку.
- Переключите вывод под ваш сервер: nginx (return 301), Apache .htaccess (Redirect 301) или CSV для проверки списком.
- Справа появятся готовые директивы. Скопируйте их в конфиг nginx, в файл .htaccess или сверьте по таблице, затем перезагрузите сервер.
Частые вопросы
Чем 301 отличается от 302?
301 — постоянный редирект: поисковик переносит накопленный вес страницы на новый адрес и со временем заменяет старый URL в индексе. 302 — временный, вес не передаётся. При переезде и смене URL нужен именно 301.
Что вставлять — пути или полные адреса?
Для правил на одном домене обычно достаточно путей вида /old/ → /new/. Для переезда на другой домен указывайте полные адреса с https://. Инструмент подставит то, что вы введёте, без изменений.
Как применить правила на сервере?
Для nginx — добавьте строки в нужный server-блок и выполните reload. Для Apache — положите строки в .htaccess в корне сайта. После этого проверьте несколько старых адресов: они должны отдавать код 301 и открывать новую страницу.
Данные куда-то отправляются?
Нет. Всё работает прямо в браузере на JavaScript — список никуда не загружается и не сохраняется на сервере.
Почему .htaccess вызывает ошибку 500?
Чаще всего — опечатка в синтаксисе или незакрытое условие RewriteCond, реже — отсутствует модуль mod_rewrite на сервере. Проверьте, что в начале блока стоит RewriteEngine On, у каждого правила закрыты флаги [R=301,L], и нет дублирующих RewriteEngine. Перед правкой сделайте бэкап файла — тогда откатить ошибку можно за секунду.
Работает ли .htaccess на nginx?
Нет. .htaccess понимает только Apache. На nginx файл просто игнорируется — редиректы задаются в конфиге сервера (директивы return 301 и rewrite … permanent) и применяются через nginx -s reload. Переключите вывод генератора на формат nginx — он соберёт правила в нужном синтаксисе.
Как склеить http и https через .htaccess?
Добавьте в начало .htaccess: RewriteEngine On, затем RewriteCond %{HTTPS} off и RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]. Это уводит весь http-трафик на https постоянным редиректом. Если нужно ещё и убрать www — добавьте отдельное условие на www (см. сценарий 2 выше).
Чем отличается Redirect от RewriteRule?
Redirect 301 — простая директива модуля mod_alias: «этот адрес → этот», без регулярных выражений, удобна для отдельных страниц. RewriteRule — из mod_rewrite, работает с шаблонами и условиями (RewriteCond): нужна для массовых правил, HTTPS, www и всего, где есть логика. Для пары адресов проще Redirect, для шаблонов — RewriteRule.
Похожие инструменты
Как применять это в продвижении — в разборе Canonical и дубли и других материалах блога. Как это работает — в статье Как сделать 301 редирект.
Ещё инструменты для SEO и маркетинга
Кластеризатор запросов, генераторы sitemap и robots.txt, минус-слова, разметка Schema.org и калькуляторы — в разделе инструментов.