Генератор перенаправлений для Htaccess

Каждый раз при миграции блога, изменении схемы URL или объединении старых страниц основную нагрузку на процесс очистки несёт файл .htaccess сервера Apache. Данный генератор автоматически преобразует простое соответствие исходного и целевого формата в правильные директивы RewriteRule с необходимыми параметрами и готовые к вставке в файл .htaccess сайта.

Как создать правила перенаправления

  1. 1

    Выберите тип перенаправления

    301, постоянный код для безопасных для SEO перенаправлений; 302, временный код для тестов типа A/B и сезонных перенаправлений.

  2. 2

    Введите источник и целевое значение

    Точные пути или регулярные шаблоны: старый путь становится шаблоном RewriteRule, а новый URL целью перенаправления.

  3. 3

    Проверьте флаги

    Каждое правило автоматически получает нужный флаг, `[R=301,L]` или `[R=302,L]`, так что блок сразу работает с mod_rewrite.

  4. 4

    Копируйте директивы

    Сгенерированный блок помещается в раздел `<IfModule mod_rewrite.c>` файла .htaccess.

Директивы mod_rewrite и mod_alias

Apache предлагает два модуля для перенаправлений; выбор модуля зависит от сложности правила.

Руководство по выбору

Требование Что использовать Пример
Точный старый URL → точный новый URL Redirect Redirect 301 /old /new
Префикс с подстановочным символом RedirectMatch RedirectMatch 301 ^/blog/(.*)$ /articles/$1
Совпадение строки запроса RewriteRule См. ниже
Принудительный HTTPS RewriteRule RewriteCond %{HTTPS} off + правило
Условное (браузер, cookie) RewriteRule В сочетании с RewriteCond

Пример: принудительный HTTPS с www

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Пример: переместить /blog/post-123 в /articles/post-123

RewriteEngine On
RewriteRule ^blog/(.*)$ /articles/$1 [L,R=301]

Флаги, которые вы увидите

  • L, последний; не продолжайте обработку других правил.
  • R=301 или R=302, перенаправляйте по этому коду состояния.
  • NC, без учёта регистра.
  • QSA, добавить исходную строку запроса к новому URL.
  • NE, не перекодировать специальные символы в целевом URL.

Частые ошибки

  • Забыть RewriteEngine On, без него ни одно правило RewriteRule не действует.
  • Использовать 302 по умолчанию, Google считает его временным, поэтому старый URL продолжает удерживать позиции.
  • Цепочки перенаправлений (старый → промежуточный → конечный), всегда стремитесь к одному переходу; каждый лишний переход теряет ссылочный вес и увеличивает задержку.

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

Используйте код 301 для постоянных изменений: миграции сайта, изменения слага URL-адреса или обновления на протокол HTTPS. Код 302 следует применять только в временных случаях, например, при перенаправлении пользователей на страницу технического обслуживания или при проведении тестирования с разделением трафика на группы A и B. Поисковые системы передают сигналы о ранжировании именно по коду 301, а не надежно, по коду 302.

Самая частая причина, забытый ведущий слеш в шаблоне. В RewriteRule шаблон сопоставляется с путём без ведущего слеша (например, ^blog/); в Redirect (mod_alias) шаблон начинается со слеша (например, /blog). Не смешивайте эти два соглашения.

Да, используйте RewriteCond %{QUERY_STRING} ^id=123$ перед RewriteRule. Обычный Redirect не считывает строку запроса; сопоставить её может только RewriteRule.

Да, при следующем запросе Apache повторно считывает файл .htaccess; перезапуск сервера не требуется. Если ничего не происходит, убедитесь, что параметр AllowOverride All установлен в vhost для данного каталога.

Сопутствующие инструменты

Справочная таблица ASCII

Полная таблица ASCII от 0 до 127 с десятичным, шестнадцатеричным, восьмеричным и двоичным представлением, а также записью числовых ссылок HTML, включая NUL, LF и DEL.

Справочник сочетаний клавиш

Ищите документированные сочетания по умолчанию для VS Code, Chrome и Bash с GNU Readline в macOS, Windows и Linux.

Справочник символов HTML

Справочник HTML-сущностей с поиском, их именованными и числовыми кодами, а также копированием специальных символов и знаков одним кликом.

Шпаргалка по Markdown

Практический справочник Markdown с настоящим предпросмотром и готовыми для копирования примерами заголовков, списков, таблиц, кода, ссылок, изображений и синтаксиса GFM.

Счетчик FPS

Измерьте FPS браузера через requestAnimationFrame: сглаживание, минимальная и максимальная частота кадров, порог предупреждения и график по желанию. Работает локально, без загрузок и API.

Шпаргалка по регулярным выражениям

Поисковый справочник регулярных выражений для JavaScript, PCRE2/PHP, Python re и .NET. Сравнивайте токены, синтаксис движков, якоря, группы, проверки и флаги.

Инструмент доступен на других языках