Яндекс.Метрика

301-редирект не работает: как найти причину

28 Сентябрь, 2026 • Сервер и домены • 28 просмотров

301-редирект не работает

Настроили 301-редирект, но он не срабатывает: как найти причину, проверить порядок правил, кэш, rewrite и вернуть корректный переход.

Вы настроили 301-редирект, но старая страница продолжает открываться. Или редирект срабатывает не для всех URL. Или браузер показывает цепочку переходов. Причина может быть в порядке правил, кэше, rewrite или настройках CMS. Разберём, почему 301-редирект не работает и как это исправить.

Как должен работать 301-редирект

301 — это постоянный редирект. Он сообщает браузеру и поисковому роботу, что страница переехала на новый URL. 301 передаёт ссылочный вес и помогает сохранить позиции.

Правильный 301-редирект:

— отдаёт статус 301;

— ведёт на конечный URL, а не на промежуточный;

— не создаёт цепочку из нескольких переходов;

— работает для всех затронутых URL;

— не кэшируется браузером навсегда.

Если хотя бы одно условие нарушено, редирект может не работать так, как вы ожидаете.

Причина 1: неправильный порядок правил

В nginx и Apache правила применяются в определённом порядке. Если правило 301 стоит после другого правила, которое уже обработало запрос, оно может не сработать.

Что проверить:

— порядок правил в конфиге;

— нет ли правила, которое перехватывает запрос раньше;

— нет ли правила, которое отдаёт 200 вместо 301;

— нет ли конфликтующих правил.

В nginx порядок server-блоков и location-блоков имеет значение. В Apache порядок правил в .htaccess тоже важен. Правило 301 должно стоять до правил, которые могут его перехватить.

Причина 2: кэш браузера

301-редирект кэшируется браузером. Если вы настроили редирект, а потом изменили его, браузер может продолжать использовать старую версию из кэша.

Что проверить:

— очистить кэш браузера;

— проверить в режиме инкогнито;

— проверить с другого устройства;

— проверить, не кэшируется ли редирект на уровне CDN.

Если редирект работает в инкогнито, но не работает в обычном режиме, проблема в кэше браузера.

Причина 3: rewrite-правила конфликтуют

Если на сайте есть другие rewrite-правила, они могут конфликтовать с 301-редиректом. Например, правило, которое добавляет слэш в конце URL, может сработать раньше, чем правило редиректа.

Что проверить:

— все rewrite-правила;

— порядок их применения;

— нет ли правила, которое изменяет URL до редиректа;

— нет ли правила, которое отдаёт контент вместо редиректа.

Причина 4: настройки CMS

Многие CMS имеют собственные настройки редиректов. Они могут конфликтовать с серверными правилами или перезаписывать их.

Что проверить:

— настройки редиректов в CMS;

— плагины, которые управляют редиректами;

— настройки кэширования;

— настройки ЧПУ.

Иногда CMS добавляет свой редирект, который срабатывает раньше серверного. В этом случае нужно либо отключить CMS-редирект, либо настроить его правильно.

Причина 5: редирект настроен только для части URL

Если редирект настроен только для главной страницы или для конкретного URL, остальные страницы могут продолжать открываться по старому адресу.

Что проверить:

— для каких URL настроен редирект;

— работает ли он для внутренних страниц;

— работает ли он для URL с параметрами;

— работает ли он для URL с другими регистрами.

Для проверки используйте проверка редиректов — инструмент покажет, отдаёт ли сервер 301 и куда ведёт редирект.

Как найти причину

Пошаговая диагностика:

— проверьте статус ответа для старого URL;

— проверьте, куда ведёт редирект;

— проверьте, нет ли цепочки редиректов;

— проверьте порядок правил в конфиге;

— проверьте настройки CMS;

— проверьте кэш браузера и CDN.

Как исправить

План действий:

— поставить правило 301 до других правил;

— убрать конфликтующие правила;

— отключить CMS-редиректы, если они конфликтуют;

— проверить, что редирект работает для всех URL;

— очистить кэш браузера и CDN;

— проверить результат.

Как проверить результат

Чек-лист:

— старый URL отдаёт 301;

— редирект ведёт на конечный URL;

— нет цепочки редиректов;

— редирект работает для всех URL;

— кэш браузера и CDN очищен;

— поисковик видит редирект.

Если нужно проверить сразу несколько параметров — редиректы, статусы, цепочки — логично перейти к SEO-аудиту.

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

— неправильный порядок правил;

— конфликт с rewrite-правилами;

— конфликт с CMS-редиректами;

— редирект только для части URL;

— кэш браузера;

— цепочка редиректов.

FAQ

Почему 301-редирект не работает?

Причин несколько: неправильный порядок правил, конфликт с rewrite, настройки CMS, кэш браузера или редирект настроен только для части URL.

Как проверить, работает ли 301-редирект?

Используйте инструмент проверки редиректов. Он покажет, отдаёт ли сервер 301 и куда ведёт редирект.

Почему редирект работает в инкогнито, но не в обычном режиме?

Скорее всего, проблема в кэше браузера. 301 кэшируется, и браузер может использовать старую версию.

Может ли CMS конфликтовать с серверным редиректом?

Да. Многие CMS добавляют свои редиректы, которые могут срабатывать раньше серверных. Проверьте настройки CMS.

Что делать, если редирект создаёт цепочку?

Убрать промежуточные редиректы и настроить переход сразу на конечный URL.

Влияет ли 301 на SEO?

Да. 301 передаёт ссылочный вес и помогает сохранить позиции. Если редирект не работает, страница может выпасть из индекса.

Нужно ли использовать 302 вместо 301?

Только если редирект временный. Для постоянного переезда используйте 301.

Может ли CDN мешать редиректу?

Да. CDN может кэшировать старый ответ или изменять заголовки. Проверьте настройки CDN.

Как проверить, что редирект работает для всех URL?

Проверьте несколько URL: главную, внутренние страницы, URL с параметрами. Убедитесь, что все они отдают 301.

Что делать, если редирект не работает после смены хостинга?

Проверьте конфиг nginx или Apache на новом хостинге. Возможно, правила не были перенесены или порядок изменился.

0 из 0 оценок