Бесплатный разбор
Сайты и SEO

Ошибка 405 Method Not Allowed: почему сервер не принимает запрос и как исправить

Что значит 405 Method Not Allowed, чем она отличается от 404 и 403, почему форма или API получают отказ, как проверить заголовок Allow и настроить метод на сервере. С промптами для нейросети.

Коротко. 405 Method Not Allowed означает: адрес существует, но сервер не разрешает для него этот метод запроса. Чаще всего форма отправляет POST туда, где принимают только GET, или API ждёт другой метод. В ответе должен быть заголовок Allow — в нём перечислены разрешённые методы.

Как читать материал. Сначала проверяем метод и заголовок Allow, потом правим форму, маршрут или конфиг сервера. Нейросеть помогает разобрать запрос и конфиг, но результат проверяется командой и в браузере.

Что означает ошибка 405

Метод — это часть HTTP-запроса: GET, POST, PUT, DELETE, HEAD. Сервер знает такой метод, но для конкретного адреса он не предусмотрен.

По RFC 9110 сервер обязан вернуть в 405 заголовок Allow со списком разрешённых методов. Если заголовка нет, сервер нарушает протокол. На практике так бывает.

405, 404 и 403: в чём разница

Код Что означает Пример
404 Not Found Адреса нет Опечатка в URL
405 Method Not Allowed Адрес есть, метод не разрешён POST на статичную страницу
403 Forbidden Метод разрешён, но доступ закрыт Нет прав на раздел

405 не говорит, что страницы нет. Она говорит, что вы постучались не тем способом.

Почему появляется 405

  • Форма отправляет POST на статичный HTML. Веб-сервер отдаёт файл только по GET и HEAD.
  • Ошибка в атрибуте формы. Например, method=“post” там, где обработчик ждёт GET.
  • API принимает только один метод. Эндпоинт создан для POST, а клиент делает PUT.
  • WAF или CDN блокирует метод. Защита от ботов может запрещать PUT, DELETE и нестандартные методы.
  • nginx ограничивает методы. Директива limit_except разрешает только GET и HEAD.
  • CMS или плагин. Маршрут существует, но обработчик не зарегистрировал метод.

Как проверить

Сначала посмотрите на запрос и ответ:

curl -i -X POST https://site.ru/contact

В ответе ищите строку Allow: GET, HEAD. Она показывает, что сервер готов принять. Если заголовка нет, проверьте конфиг и логи.

В браузере откройте DevTools → Network, найдите запрос формы и посмотрите Method и Status. Часто видно, что форма уходит на другой URL или метод меняется после редиректа.

Демонстрационная страница с кодом 405 и заголовком Allow
Ответ 405 на демонстрационной странице. В реальном ответе важен заголовок Allow: он перечисляет методы, которые сервер принимает.

Классический путь. Снимите запрос через curl -i, проверьте метод, URL и Allow.

С нейросетью. Отдайте HTML формы и фрагмент конфига, попросите найти несоответствие.

Вот HTML формы и блок location из nginx. Найди, почему запрос получает 405:
метод формы, адрес action, разрешённые методы. Предложи минимальную правку.
Не меняй URL и не добавляй новые маршруты без объяснения.

Проверка. После правки повторите curl -i -X POST и убедитесь, что код стал 200 или 302, а не 405.

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

Причина Что делать
POST на статичную страницу добавить обработчик или вернуть форме GET
Неверный method в форме привести атрибут в соответствие с обработчиком
API ждёт другой метод исправить клиент или добавить метод в маршрут
nginx отклоняет метод проверить limit_except и не путать 403 с 405
WAF блокирует PUT/DELETE добавить правило исключения для доверенного сценария
Метод не зарегистрирован в CMS проверить маршруты и плагины

Пример nginx: разрешаем только GET и HEAD. Остальные методы nginx отклонит; по умолчанию это 403, а не 405.

location /static/ {
    limit_except GET HEAD {
        deny all;
    }
}

Для API, наоборот, метод добавляют в приложение, а не в веб-сервер. Правка конфига не создаст обработчик.

Влияет ли 405 на SEO

Googlebot и Яндексбот запрашивают страницы методом GET. Если GET на обычной странице возвращает 405, робот не получит HTML: страница может выпасть из обхода.

Если 405 стоит только на POST-формах и API, на индексацию это не влияет. Но форма, которая не работает, теряет заявки — это уже бизнес-потери.

Где помогает нейросеть

Задача Что делает модель Что проверять руками
Разбор формы находит несоответствие method и action фактический запрос в DevTools
Конфиг nginx предлагает блок limit_except синтаксис через nginx -t
Логи группирует 405 по URL и методам реальные методы из лога
Письмо разработчику описывает воспроизведение код и заголовки ответа

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

  • Менять URL, хотя проблема в методе.
  • Разрешать все методы подряд ради быстрого результата.
  • Считать 405 «ошибкой SEO» и не проверять форму.
  • Игнорировать заголовок Allow.
  • Править только фронтенд, когда метод не поддерживает бэкенд.
  • Забывать про CDN и WAF перед сервером.

Вопросы

405 — ошибка клиента или сервера?

Формально 4xx: сервер считает, что клиент использовал неподходящий метод. Но исправлять часто приходится сайт: форму, маршрут или конфиг.

Чем 405 отличается от 404?

404 — адреса нет. 405 — адрес есть, но метод не разрешён.

Влияет ли 405 на индексацию?

Если код получает GET на обычной странице, да: робот не увидит содержимое. Для POST-форм и API влияния на индекс нет.

Может ли нейросеть исправить 405?

Она находит несоответствие в коде и конфиге, но применить правку и проверить ответ нужно на сервере.

Связанные материалы

Источники

Официальные документы 5

Разбор проекта

Разберём сайт и спрос

Посмотрим сайт и спрос, скажем, что исправить первым. 20–30 минут в Zoom, Telegram или по телефону. Бесплатно и без обязательств.

Разобрать проектВсе материалы →