Редирект 302 Found: что значит и чем отличается от 301
302 Found — страница временно доступна по другому адресу, а старый адрес остаётся основным. Это перенаправление «на время»: для тестов, акций, технических работ. Ошибка, которую легко допустить, — поставить 302 там, где переезд постоянный: nginx, Apache, PHP и WordPress отдают именно 302, если код не указан явно.
Содержание 8
Что означает код 302
По стандарту HTTP код 302 значит, что ресурс временно находится по другому адресу. Временный адрес может снова поменяться, поэтому клиенту стоит и дальше обращаться по исходному. Временный адрес сервер указывает в заголовке Location, и браузер переходит туда автоматически.
Как и при 301, браузер может сменить метод POST на GET. Если метод должен сохраниться — например, при перенаправлении запроса к API, — нужен 307.
Без особых заголовков браузер ответ 302 не кэширует: при каждом открытии старого адреса он снова спрашивает сервер.
Когда нужен 302
302 нужен, когда страница переехала на время и потом вернётся на старый адрес: страница акции, которая действует неделю, сравнительный тест двух вариантов страницы, перенаправление на страницу входа, пока посетитель не вошёл в аккаунт. Если переезд постоянный, нужен 301.
Откуда берутся случайные 302
Если код не указан явно, перенаправление получается временным:
| Где | Что отдаёт 302 |
|---|---|
| nginx | return https://example.com/; — адрес без кода |
| nginx | rewrite с флагом redirect, а также без флага, если новый адрес начинается с http:// или https:// |
| Apache | Redirect без кода |
| PHP | header('Location: …') без третьего параметра |
| WordPress | wp_redirect() без второго параметра |
Если переезд постоянный, укажите 301 явно. Какой код отдаёт адрес, покажет команда:
curl -I https://example.com/old-page/303 See Other: перенаправление после формы
Код 303 значит: ответ на запрос нужно взять по другому адресу и запросить его методом GET. Его используют после отправки формы: сервер обрабатывает POST и перенаправляет посетителя на страницу «Спасибо». Если посетитель обновит страницу, браузер заново запросит «Спасибо», а форма второй раз не отправится.
header('Location: /thanks/', true, 303);
exit;Яндекс в описании кода 303 советует этот приём — перенаправлять посетителя после отправки формы — и напоминает: если страница, на которую ведёт перенаправление, должна быть в поиске, она должна отвечать кодом 200.
302 и поиск Яндекса
По справке Яндекса, при 302 адрес, с которого стоит перенаправление, в поиск не попадает, а адрес назначения индексируется, если доступен роботу, — так же, как при 301. Но использовать 302 Яндекс советует только для временного перемещения — например, для сравнительных тестов, — а в остальных случаях 301.
Чем 302 отличается от соседних кодов
| Код | Насколько | Метод запроса |
|---|---|---|
| 301 | Навсегда | POST может смениться на GET |
| 302 | На время | POST может смениться на GET |
| 303 See Other | Ответ — по другому адресу | Меняется на GET |
| 307 | На время | Не меняется |
Источники
- RFC 9110, раздел 15.4.3 — определение кода 302; раздел 15.4.4 — код 303.
- Документация nginx: return и rewrite.
- Документация Apache: Redirect.
- Документация PHP: функция header.
- Исходный код WordPress: функция wp_redirect().
- Яндекс Вебмастер: коды ответа HTTP.
Сверено 6 октября 2026 года.
Что почитать дальше
- Редирект 301 — постоянное перенаправление.
- Редирект 307 — временное перенаправление без смены метода.
- Коды ответа HTTP — полный список с расшифровкой.
- Ошибка 405 Method Not Allowed — когда метод запроса не принимается.
Проверено и обновлено: 07.10.2026