Перейти к содержимому

Country not allowed как исправить

  • автор:

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

Ошибка сервера 405

Когда на сайт пытается попасть человек, а вместо искомого контента натыкается на ошибку, то важно выяснить, что это за ошибка и почему она посмела явиться в столь неподходящий (а это любой) момент.

Благо у нас есть замечательные коды 4хх и 5хх, хоть и не так подробно, как хотелось бы, но рассказывающие о том, почему возникла ошибка. Ну а мы, зная эту информацию, можем попытаться ошибку исправить.

В этом материале речь пойдет об ошибке 405 Method Not Allowed. В деталях опишу проблему и расскажу, как ее побороть.

Что означает код ошибки сервера 405?

Код 405 Method Not Allowed говорит нам о том, что сервер получил определенный запрос с заданным HTTP-методом, смог его распознать, но не дает добро на его реализацию. То есть пользователь не получит доступ к контенту, который запросил.

В отличие от 404, 405 уточняет, что запрашиваемая страница существует и функционирует. Только вот стоит изменить используемый в HTTP-запросе метод. Иначе ничего не выйдет.

Ошибка 405

Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей

Из-за чего я вижу эту ошибку?

Есть 9 HTTP-методов, которые используются браузерами для общения с серверами. Из них два задействуются чаще остальных. Это метод GET для запроса информации с ресурса и метод POST для передачи какой-нибудь информации на ресурс. Два метода покрывают почти все существующие сценарии взаимодействия клиента и сервера от запроса статьи до отправки логина и пароля на сайт. Так как они выполняют разные задачи, для сервера нет никакой нужды принимать GET для авторизации на сайте или POST для загрузки данных. Если же клиент так делает и отправляет некорректный запрос (не с тем методом, который должен быть), то сервер ответит ему ошибкой. То же произойдет, если ресурс будет настроен так, что не сможет принимать специфичный набор запросов, не попадающих в «стандарт». Такие дела.

Как исправить 405 Method Not Allowed?

Ок, небольшой ликбез провел, теперь расскажу о том, что можно предпринять, чтобы исправить обнаруженную ошибку и вернуть посетителям доступ к сайту.

Что может сделать пользователь?

Ошибка Method Not Allowed под номером 4хх вроде бы говорит о вине клиента. Но несмотря на это, пользователь мало что может сделать, чтобы устранить проблему. В его компетенции только убедиться в том, что он не допустил ошибку в базовых вещах, и попробовать повторить те же действия в надежде на успех.

Заново открыть ту же страницу

Иногда 405 Method Not Allowed может исчезнуть после перезагрузки страницы. Так что перед тем как принимать сложные решения и жаловаться на владельцев сайта, нажмите F5 или Cmd + R раза два.

Проверить, правильно ли он ввел URL-адрес

Несложная задача, но полезная. Как и в случае с кучей других ошибок, 405 может явиться из-за банальной опечатки или лишнего символа. К тому же многие серверы защищены таким образом, чтобы напрочь блокировать доступ к несуществующим страницам или каким-либо подуровням (в которые человек может пытаться залезть неслучайно).

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

Что может сделать владелец сайта?

Как это часто бывает, у сервера гораздо больше способов исправить клиентскую ошибку. Тут реально целый ворох решений: от удаления подозрительных компонентов из CMS до редактирования конфигурационных файлов.

Проверить настройки сервера

Тут будут инструкции для владельцев сайтов на базе Apache и Nginx в Timeweb. Понятно, что есть другие варианты конфигураций, но эти два — чуть ли стандарт, использующийся повсеместно. А информация, касающаяся конкретно Timeweb, заденет только расположение файлов и работу с панелью управления хостинга. Остальные моменты универсальны.

Инструкция для пользователей Apache

Наша задача состоит в том, чтобы в файле .htaccess найти записи, которые могут провоцировать появление ошибки 405. А потом их закомментировать или удалить. Чтобы это сделать:

  • Открываем панель управления Timeweb.
  • Ищем внутри вкладку «Файловая система» и переходим на нее.
  • Открываем файл .htaccess.
  • Внутри .htaccess ищем директивы Rewrite… (обычно это RewriteEngine, RewriteCond и RewriteRule).

Эти директивы помогают в настройке переадресации и некоторых других аспектах поведения сервера. Например, чтобы заставить сервер отправлять клиенту ошибку на каждый запрос GET, можно ввести такой код:

RewriteEngine on RewriteCond % ^/ru/services/?.$ RewriteCond % =GET RewriteRule ^(.)$ http://timeweb/ru/new$1 [R=405,L]

За появление ошибки отвечает запись [R=405,L]. То есть в настройках указано, как себя будет вести сервер при определенном запросе. Надо найти все такие директивы и закомментировать их, поставив # перед записью.

Инструкция для пользователей Nginx

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

  • Ищем файл nginx.conf по пути /usr/local/nginx/conf или /usr/local/etc/nginx .
  • Открываем его любым текстовым редактором.
  • Находим код, включающий в себя упоминание ошибки 405.

В Nginx код выглядит немного сложнее. Например, запрос метода для ссылки https://moysait.com/ru/services/create будет выглядеть так:

server < listen 80; listen 443 ssl;server_name moysait.com; location /users/create < if ($request_method = POST) < return 405 https://moysait.com/services/create$request_uri; >> >

Делаем ту же процедуру. Останавливаемся везде, где находим директиву с ошибкой 405. Анализируем ее (вдруг, она тут случайно). И при необходимости комментируем или удаляем.

Исправить проблемы, связанные с PHP-скриптами

Ошибки могут возникнуть при попытке импортировать или экспортировать слишком объемную базу данных. На хостинге может быть установлено ограничение в полминуты, запрещающее использовать один PHP-скрипт дольше этого времени. Поэтому, если процесс затянется, сервер может отозваться ошибкой 405.

Обойти ограничение можно тремя путями:

  • Попробовать экспортировать БД через phpMyAdmin.
  • Разбить файл БД на несколько мелких частей, передача каждого из которых займет меньше 30 секунд.
  • Использовать для передачи БД Cron-задачу. На них сервер выделяет больше времени.

Еще специалисты рекомендуют удалить статические файлы с разрешением, которые Nginx обрабатывать не должен. Это делается через панель управления хостингом в соответствующем разделе файлового менеджера.

Исправить эксклюзивные для Nginx ошибки

Как мы уже выяснили выше, ошибка может возникнуть при попытке использовать неподходящий метод. Вот как можно исправить это в случае с Nginx-сервером.

Первый вариант — убедить сервер в том, что вместо кода 405 надо отправлять код 200, и это вполне нормально:

server < listen 80; server_name localhost; location / < root html; index index.html index.htm; >error_page 404 /404.html; error_page 403 /403.html; error_page 405 =200 $uri;  >

Для тех, у кого Nginx-сервер — это proxy, понадобится вот такой код:

error_page 405 =200 @405; location @405 < root /htdocs; proxy_pass http://localhost:8080; >

Аналогичная ошибка возникает при работе с модулем FastCGI. Из-за него сервер неправильно считывает запросы с методом POST, поэтому необходимо делить параметры и адрес скрипта вот так:

location ~\.php(.*) < fastcgi_pass 127.0.0.1:9000; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include /etc/nginx/fastcgi_params; >

Далее речь пойдет об общих методах диагностики и исправления ошибок. На крайний случай, если конкретные решения не помогли.

Проанализировать все недавние изменения в коде

Если недавно что-то поменяли, а после этого все сломалось, то надо это «поменяли» рассмотреть подробнее. Провести ручной дебаггинг, если можно это так назвать. Наверняка где-то затесалась несерьезная, но обидная ошибка.

Удалить сторонние дополнения для CMS

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

Так что при подозрении на наличие сбойного дополнения, лучше попробовать от него избавиться и посмотреть, что будет. Возможно, ошибка исчезнет.

После этого уже можно будет поискать альтернативное расширение или пообщаться с разработчиками по поводу того, почему вообще возникает сбой.

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

Откатиться на более старую версию CMS

Бывает так, что сама CMS несет в себе баги и ошибки. Ну или криво установилась. В таком случае можно восстановиться из старой резервной копии и откатиться на одну или несколько версий в прошлое. Когда все работало без ошибок.

Проверить новые записи в базе данных

Расширения могут вносить изменения в базу данных сайта. Иногда не очень полезные. Надо проверить, не появилось ли после установки свежего дополнения каких-либо непрошенных изменений в базе данных. Может, появились подозрительные записи, которых не должно быть. Лучше подвергнуть анализу всю БД от начала до конца (если другие методы исправления ошибки 405 не помогли, конечно).

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

405 Method Not Allowed

Код состояния протокола HTTP 405 Method Not Allowed , указывает, что метод запроса известен серверу, но был отключён и не может быть использован. Два обязательных метода GET и HEAD никогда не должны быть отключены и не должны возвращать этот код ошибки.

Сервер ОБЯЗАН сгенерировать поле заголовка Allow в ответе с кодом 405, которое содержит список текущих доступных методов ресурса.

Статус

405 Method Not Allowed

Спецификации

Спецификация Титул
RFC 7231, раздел 6.5.5: 405 Method Not Allowed Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

Смотрите также

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

This page was last modified on 7 авг. 2023 г. by MDN contributors.

Your blueprint for a better internet.

MDN

Support

  • Product help
  • Report an issue

Our communities

Developers

  • Web Technologies
  • Learn Web Development
  • MDN Plus
  • Hacks Blog
  • Website Privacy Notice
  • Cookies
  • Legal
  • Community Participation Guidelines

Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2024 by individual mozilla.org contributors. Content available under a Creative Commons license.

Вы отправили слишком много запросов, поэтому ваш компьютер был заблокирован.

Для того, чтобы предотвратить автоматическое считывание информации с нашего сервиса, на Linguee допустимо лишь ограниченное количество запросов на каждого пользователя.
Пользователям, браузер которых поддерживает Javascript, доступно большее количество запросов, в отличие от пользователей, чей браузер не поддерживает Javascript. Попробуйте активировать Javascript в настройках вашего браузера, подождать несколько часов и снова воспользоваться нашим сервером.
Если же ваш компьютер является частью сети компьютеров, в которой большое количество пользователей одновременно пользуется Linguee,сообщитеоб этом нам.

Как исправить ошибку 405 Method Not Allowed на WordPress-сайте

В этой статье мы объясним, что такое ошибка 405 и как она может проявляться. А также расскажем, как исправить эту ошибку, возникающую на WordPress-сайте.

Обновлено: 2023-06-11 19:56:05 Сергей Бензенко автор материала

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

Ошибка 405 Method Not Allowed возникает, когда браузер запросил доступ к одной из страниц сайта, но веб-сервер отклонил определенный в запросе HTTP-метод. Получается, что браузер не может получить доступ к запрашиваемой странице. Вместо интересующего пользователей конвента они увидят страницу с ошибкой.

Google Chrome

Google Chrome

Ошибка 405 Not Allowed в Chrome

Safari

Safari

Ошибка 405 Not Allowed в Safari

Firefox

Firefox

Ошибка 405 Not Allowed в Firefox

Microsoft Edge

Microsoft Edge

Ошибка 405 Not Allowed в Microsoft Edge

Ошибку 405 не следует путать с кодом ответа 404 Not Found. Он означает, что запрошенный URL-адрес не найден или введен неправильно. Сообщение об ошибке 405 подтверждает, что запрашиваемая страница, но для выполнения запроса использовался неподдерживаемый HTTP-метод.

Это код ответа HTTP указывает, что метод запроса известен серверу, но не поддерживается целевым ресурсом.

Вариации ошибки 405

Вот некоторые варианты отображения ошибки:

  • 405 Not Allowed;
  • Method Not Allowed;
  • HTTP 405 Error;
  • HTTP Error 405 – Method Not Allowed;
  • HTTP 405 Method Not Allowed.

Как исправить ошибку 405 Method Not Allowed на WordPress-сайте

Проверьте, правильно ли вы ввели URL-адрес

Самой распространенной причиной возникновения ошибки 405 является неправильный URL-адрес. Большинство веб-серверов блокируют доступ пользователей к несуществующим страницам сайта.

Откат недавно установленных обновлений WordPress

Если вы обновили WordPress незадолго до того, как стало появляться сообщение об ошибке 405 Method Not Allowed, то именно обновление может являться причиной возникновения проблем. Это также относится к любым плагинам и темам оформления, которые вы недавно обновили.

Самый простой способ откатить обновления WordPress – использовать специальный плагин. Самый эффективный из них – WP Downgrade. Он в значительной степени автоматизирует процесс обновления.

Удалите новые плагины и темы оформления

Плагины и темы оформления могут создавать проблемы. Это связано с тем, что добавление любой функциональности на сайт влияет на его работу. Ошибка 405 быть связана с плагином или темой оформления, которую вы используете. А также если конкретное расширение конфликтует с другой частью CMS.

Удаления определенных плагинов или тем оформления может устранить ошибку 405 Method Not Allowed. Для этого перейдите в раздел «Плагины» панели администрирования WordPress.

Удалите новые плагины и темы оформления

Страница плагинов в WordPress

После удаления каждого плагина не забудьте проверять, устранена ли возникшая ошибка. Этот процесс позволит вам точно определить, какой плагин вызывает проблему.

Как деактивировать плагин в WordPress

После проверки плагинов можно приступить к деактивации (удалению) используемой темы.

Проверить любые непреднамеренные изменения в базе данных

Рассмотренный выше способ не гарантирует, что изменения, внесенные расширениями, будут полностью отменены. Это особенно актуально для WordPress-плагинов. Многие из них могут изменять записи в базе данных, которые влияют на работоспособность WordPress.

Если вы уверены, что плагин или тема оформления являются причиной возникновения ошибки 405 Method Not Allowed, проверка используемой базы данных полностью решит проблему. Для этого необходимо открыть базу данных сайта и вручную просмотреть таблицы и записи, измененные расширением.

Проверка конфигурации сервера

Ваш сайт, скорее всего, работает на сервере, который использует Apache или Nginx. На их основе базируется более 80% всех серверов. Проверка файлов конфигурации сервера на наличие неподдерживаемых инструкций поможет решить причину возникновения ошибки 405.

Например, если веб-сервер работает под управлением Apache, то конфигурационный файл .htaccess располагается в корневом каталоге сайта. В него можно попасть, перейдя по следующему пути:

/home/public_html/

Таким образом, файл .htaccess будет располагаться по адресу:

/home/public_html/.htaccess

Откройте файл .htaccess в текстовом редакторе и найдите строки, которые используют директивы Rewrite. Они являются частью модуля mod_rewrite в Apache и определяют текстовый шаблон, который будет сопоставляться со всеми введенными URL-адресами. Если посетитель сайта запрашивает URL-адрес, подходящий под правило RewriteRule, оно перенаправит посетителя соответствующим образом.

Вот простой пример правила RewriteRule, которое сопоставляет все входящие запросы и отвечает кодом ошибки 405 Method Not Allowed

Проверка конфигурации сервера

Пример правила RewriteRule

В конце записи правила есть флаг R = 405. Поэтому полученный код ответа будет 405. Если вы обнаружите другие «странные» директивы Rewrite в файле .htaccess, попробуйте временно закомментировать их, используя префикс #. После этого перезапустите веб-сервер, чтобы увидеть, решило ли данное изменение возникшую проблему.

Просмотрите журналы сервера

Почти каждое веб-приложение хранит журналы на стороне сервера. Они содержат полную историю операций, совершенных приложением.

Журналы сервера немного отличаются. Они часто предоставляют подробную информацию о состоянии всех подключенных служб или даже только самого сервера.

Чтобы просмотреть логи сервера, вам нужно подключиться к вашему сайту через протокол защищенной передачи файлов (SFTP). В корневом каталоге найдите папку logs. В ней находятся журналы доступа и журналы ошибок WordPress:

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

Отладка кода приложения или скриптов

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

Для этого нужно скопировать весь сайт на промежуточный сайт. После этого можно будет провести пошаговую процедуру отладки.

Что делать, если ни одно из этих решений не помогло

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

Заключение

К счастью, в большинстве случаев ошибку 405 Method Not Allowed можно легко исправить с помощью быстрой отладки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *