Правила редиректа
Об этом генераторе редиректов .htaccess
Инструмент создаёт правила Apache mod_rewrite, которые отправляют со старого пути на новый полный URL. Исходный путь совпадает точно: /old-page случайно не перенаправит /old-page-extra. Настройка конечного слеша позволяет считать /page и /page/ одним адресом.
Используйте 301 для постоянного переезда, когда поисковые сигналы должны перейти на новый URL. Для временного переезда или проверки берите 302. Браузеры и прокси могут запомнить 301, поэтому при сомнениях сначала тестируйте с 302.
Правила работают только на Apache с включённым mod_rewrite и разрешённым .htaccess. Для Nginx они не подходят. Сделайте копию старого файла, добавьте правила ближе к началу, проверьте каждый URL и убедитесь, что нет циклов.
Что означают созданные флаги
Старые query-параметры — это часть после ?. Выберите, добавлять их к новому URL или отбрасывать.
| Код | Значение |
|---|---|
| 301 | Постоянный переезд; может кэшироваться и сообщает поисковикам о долгом изменении. |
| 302 | Временный переезд; старый URL остаётся основным адресом. |
| QSA | Добавляет старые query-параметры к параметрам нового URL. |
| QSD | Отбрасывает старые параметры, если у адреса назначения нет своих. |
Как создать редиректы .htaccess
- Добавьте старые и новые адреса: Пишите одну пару на строку. Старый путь начните с /, а новый укажите полностью с https://.
- Выберите 301 или 302: Для теста и временного переезда берите 302. Ставьте 301, когда адрес назначения окончательный.
- Сделайте копию, опубликуйте и проверьте: Добавьте код в корневой .htaccess и проверьте старый URL, параметры и конечный адрес.
Частые вопросы
Куда вставлять эти правила?
В файл .htaccess в корне Apache, обычно перед более общими правилами. Сначала сделайте копию: ошибка синтаксиса может вызвать ошибку сервера.
Чем отличаются 301 и 302?
301 обозначает постоянный переезд и может кэшироваться. 302 — временный. Тестируйте с 302 и меняйте на 301, когда новый адрес окончательный.
Правила работают на Nginx или IIS?
Нет. Созданный синтаксис RewriteRule предназначен для Apache с mod_rewrite. У Nginx и IIS другие форматы настроек.
Почему возникает цикл редиректов?
Адрес назначения возвращает на исходный URL напрямую или через другое общее правило. Проверьте старые правила и всю цепочку переходов.