Что означает ошибка 405 Method Not Allowed
Ошибка 405 Method Not Allowed относится к категории клиентских ошибок (HTTP-коды 4xx). Она возникает в том случае, когда веб-сервер получил запрос от пользователя, но метод HTTP-запроса (например, GET или POST) не поддерживается для данного ресурса.
Например:
- пользователь пытается отправить данные через POST-запрос на страницу, которая принимает только GET-запросы;
- разработчик настроил маршрутизацию так, что определённый метод «запрещён» для выбранного URL;
- сервер блокирует попытку выполнить неподдерживаемый метод из соображений безопасности.
По сути, ошибка 405 означает: «Сервер работает, страница существует, но вы обращаетесь к ней неправильным способом».
Когда возникает ошибка
- На стороне пользователя: при вводе некорректного адреса или использовании формы/ссылки с неправильным методом запроса.
- На стороне сервера: при неверной конфигурации правил маршрутизации, .htaccess, nginx.conf или CMS.
Как выглядит ошибка в разных системах
Сообщение об ошибке может отличаться в зависимости от браузера, CMS или сервера:
- В Google Chrome — «405. That’s an error. The request method is not allowed».
- В Firefox — «405 Method Not Allowed».
- В WordPress — «Method Not Allowed. The requested method POST is not supported for this route».
- На серверах IIS (Windows) — «HTTP Error 405.0 — Method Not Allowed».

Таким образом, 405 не означает, что сайт «упал». Это скорее «неправильный ключ к двери»: ресурс есть, но доступ к нему осуществляется неверным способом.
Причины возникновения ошибки 405
Ошибка 405 Method Not Allowed всегда связана с тем, что метод HTTP-запроса не поддерживается сервером для конкретного ресурса. Причин этому может быть несколько — от банальных опечаток в URL до ошибок в конфигурации сервера или CMS.
Использование неподдерживаемого метода HTTP-запроса
Наиболее частая причина.
Примеры:
- форма на сайте отправляет данные методом POST, но сервер ожидает только GET;
- пользователь вручную пытается выполнить PUT или DELETE через браузер, а сервер не настроен на обработку таких запросов;
- API ограничивает использование некоторых методов, и обращение к ним блокируется.
Ошибки в настройках маршрутизации сервера
На уровне Apache, Nginx или IIS могут быть заданы правила, запрещающие использование отдельных методов для конкретных директорий или страниц. Если конфигурация задана неправильно — сервер будет возвращать 405.
Некорректная конфигурация .htaccess или nginx.conf
Файл .htaccess (для Apache) и конфигурационный файл nginx.conf часто содержат правила переписывания URL (rewrite). Ошибки в этих настройках приводят к тому, что сервер «не понимает» метод запроса и блокирует его.
Ограничения безопасности (например, CORS)
Если запрос к ресурсу идёт с другого домена и сервер не разрешает кросс-доменные обращения для определённых методов (POST, PUT, DELETE), браузер заблокирует доступ и вернёт ошибку 405.

Ошибки в коде CMS или приложений
В WordPress, Битрикс, Joomla и других системах маршрутизация запросов идёт через встроенные правила. Конфликт плагинов, модулей или ошибок в кастомном коде может привести к запрету методов.
Проблемы с кэшированием или прокси-серверами
Иногда ошибка 405 возникает из-за некорректной работы промежуточных серверов (CDN, прокси). Если в кеше зафиксирован неправильный ответ, он может отдаваться пользователю, даже если ресурс в норме.
Таким образом, причин у ошибки много, и важно сразу определить: проблема на стороне пользователя (URL, браузер, кэш) или на стороне сервера (конфигурация, код, плагины).
Что делать при ошибке 405
Ошибка 405 может появиться как у пользователя, так и у администратора сайта. Действия будут отличаться в зависимости от ситуации.
Что может сделать обычный пользователь
Обновить страницу или попробовать другой браузер
Иногда ошибка носит временный характер: проблема связана с кэшем браузера или нестабильным соединением. Простое обновление страницы или открытие сайта в другом браузере может решить ситуацию.
Проверить правильность URL
Даже небольшая опечатка в адресе приводит к тому, что сервер возвращает код 405, если метод запроса для указанного пути запрещён.
Очистить кэш и cookies
Повреждённые или устаревшие данные в браузере мешают корректной обработке запросов. Очистка кэша и cookies помогает устранить конфликт.
Попробовать другой метод доступа
Если форма не работает через POST-запрос, можно проверить доступность страницы через GET или найти альтернативный путь входа на сайт.
Что может сделать владелец сайта
Проверить настройки сервера
Для Apache необходимо проверить правила в .htaccess, а для Nginx — директивы в файле nginx.conf. Ошибки в конфигурации часто становятся причиной 405.
Проверить маршрутизацию в CMS или фреймворке
В WordPress, Bitrix, Laravel, Symfony и других системах неправильно настроенные правила маршрутизации могут блокировать определённые методы запросов.
Изучить логи сервера
Файлы access.log и error.log содержат подробную информацию о запросах, которые вызвали ошибку. Это помогает быстро понять источник проблемы.
Проверить плагины и расширения
Конфликты между плагинами или модулями (особенно в WordPress и Bitrix) нередко приводят к ошибке 405. Временно отключите сторонние дополнения, чтобы проверить их влияние.
Проверить права доступа и изменения в базе
Некорректные настройки прав или сбои в базе данных могут ограничивать работу отдельных страниц и вызывать ошибку метода запроса.
Откатить последние изменения
Если ошибка появилась после обновления плагина, темы или модуля, верните сайт к предыдущей версии и протестируйте работу.
Примеры исправления ошибки 405 на практике
Исправление на Apache через .htaccess
Причина часто в ограничении методов в .htaccess.
Проблемный вариант:
<LimitExcept GET POST>
Deny from all
</LimitExcept>
Расширенный вариант (разрешаем нужные методы):
<LimitExcept GET POST PUT DELETE>
Allow from all
</LimitExcept>
Исправление на Nginx через конфиг location
Жёсткие ограничения в nginx.conf могут вызывать 405.
Проблемный вариант:
location /api/ {
limit_except GET {
deny all;
}
}
Разрешаем POST:
location /api/ {
limit_except GET POST {
allow all;
}
}
Исправление на PHP (проверка метода $_SERVER['REQUEST_METHOD'])
Если скрипт обрабатывает только один метод, сервер отдаёт 405.
Проблемный вариант:
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
header("HTTP/1.1 405 Method Not Allowed");
exit;
}
Правильнее обрабатывать нужные методы:
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// обработка формы
} elseif ($_SERVER['REQUEST_METHOD'] === 'GET') {
// вывод данных
} else {
header("HTTP/1.1 405 Method Not Allowed");
}
Исправление в WordPress (через functions.php или плагины)
Часто виноваты плагины или маршруты REST API. Временно отключите плагины и проверьте.
Пример обработки метода в functions.php:
add_action('init', function() {
if ($_SERVER['REQUEST_METHOD'] === 'PUT') {
// кастомная логика обработки PUT-запроса
}
});
Как предотвратить появление ошибки 405 в будущем
Регулярная проверка конфигурации сервера
Периодически просматривайте файлы конфигурации веб-сервера. Для Apache — .htaccess и основные виртуальные хосты, для Nginx — nginx.conf и файлы sites-available. Фиксируйте изменения в системе контроля версий, чтобы легко откатываться. Проверяйте, какие методы действительно нужны для каждого маршрута, и не ограничивайте их шире необходимого. После правок выполняйте тест конфигурации и перезапуск с проверкой логов на предмет предупреждений.
Использование стейджинг-среды перед обновлениями
Разворачивайте копию сайта на стейджинге с той же версией PHP, теми же модулями и конфигами сервера. Любые обновления CMS, плагинов, правил маршрутизации, файрвола и переписывания URL сначала проверяйте там: формы, API-эндпоинты, авторизацию, кэширование. После успешных тестов переносите изменения на прод, соблюдая порядок деплоя и проверку доступности ключевых страниц.
Логи и мониторинг
Включите и регулярно проверяйте access.log и error.log. Для ротации используйте Logrotate. Для централизованного сбора и алёртов подойдёт Sentry, ELK/Opensearch Stack, Grafana Loki. Настройте уведомления при всплесках кодов 4xx и по конкретному коду 405. Это позволит быстрее замечать деградации после релизов и изменений инфраструктуры.
Тестирование API и форм через Postman
Держите коллекции запросов в Postman для ключевых путей сайта и API. Храните в них варианты методов GET, POST, PUT, DELETE и проверяйте ожидаемые ответы. Автоматизируйте прогон коллекций перед релизом и после него. Для публичных форм на сайте создайте чек-лист: отправка формы, редирект, проверка CSRF, повторная отправка, валидация полей. Это снизит риск, что из-за изменения метода или заголовков пользователь начнёт видеть 405.
Частые ошибки при исправлении 405
Ошибка | Как проявляется | Чем опасно | Как правильно |
---|---|---|---|
Игнорирование логов сервера | Админ сразу лезет в конфиги или код, не посмотрев access.log и error.log | Легко пойти по ложному следу, тратить часы на ненужные правки | Сначала проверить логи: метод, путь, код ответа, IP-адрес, время запроса |
Неверные правки в .htaccess или nginx.conf | Сайт начинает отдавать 405 не только на проблемных страницах, но и в других разделах | Ломается работа всего сайта или API | Вносить точечные изменения, проверять конфигурацию через apachectl -t или nginx -t, перезапускать сервер только после теста |
Пропуск проверки маршрутизации в CMS/фреймворке | Сервер настроен верно, но ошибка сохраняется | Виновата логика приложения, а не сервер | Проверять роутер CMS/фреймворка, убедиться, что для нужного метода есть обработчик |
Массовое отключение модулей и плагинов «наугад» | Отключение всего подряд в WordPress/Bitrix | Сайт ломается ещё сильнее, а 405 остаётся | Отключать дополнения по одному, фиксировать результат, проверять работу критичных функций |
Неправильные права доступа к файлам и каталогам | Скрипты не выполняются, сервер возвращает 405 как побочный эффект | Критичные функции сайта становятся недоступны | Восстановить корректные права (644 для файлов, 755 для каталогов), проверить владельца (chown) |
Игнорирование кэша и промежуточных уровней | CDN или прокси отдают устаревший ответ с 405 | Пользователи продолжают видеть ошибку после фикса | Очистить кэш браузера, плагинов, CDN; настроить обход кэша для POST, PUT, DELETE |
Правки на продакшене без стейджинга | Изменения делаются прямо на рабочем сервере | Возникают новые ошибки и простои сайта | Работать через стейджинг, фиксировать изменения в Git, тестировать на копии перед выкатыванием |
Частые ошибки при исправлении 405
Заключение
Ошибка 405 Method Not Allowed — это индикатор того, что сервер получил запрос, но не может его обработать выбранным методом. Такая проблема чаще всего связана с настройками сервера, CMS или некорректными скриптами.
В статье мы подробно разобрали:
- что значит ошибка 405 и в каких случаях она возникает;
- основные причины появления — от неправильных HTTP-запросов до ошибок в конфигурации;
- шаги, которые помогут пользователю и администратору устранить проблему;
- примеры исправления ошибки на практике (Apache, Nginx, PHP, WordPress);
- как предотвратить повторное появление 405 в будущем.
Если ваш сайт сталкивается с подобными проблемами, важно не только «потушить пожар», но и провести комплексную проверку. В агентстве Profitkit мы предлагаем:
- Технический аудит сайта — находим скрытые ошибки, влияющие на работу ресурса и его продвижение.
- Техническую поддержку — регулярно отслеживаем состояние сайта, устраняем сбои и обеспечиваем стабильную работу.
Такой подход позволяет избежать повторных ошибок, повысить надёжность сайта и сосредоточиться на развитии бизнеса.
Подписывайтесь на наш Telegram-канал Profitkit — там мы делимся практическими советами по SEO, рекламе и технической поддержке сайтов.