Цікаво, що коди помилок HTTP одночасно дуже корисні та неймовірно дратівливі.
Помилка при завантаженні сторінки чітко вказує на те, що щось пішло не так з веб-сайтом — Але більшість з нас навіть не мають уявлення, що означає “405 Method Not Allowed”, не кажучи вже про те, як це виправити.
Саме тому ми написали цей зручний посібник! Помилка 405 не є причиною для паніки; існує лише кілька кроків, щоб повернути ваш сайт до робочого стану.
На наступних сторінках ми пояснимо, що ця помилка означає та покажемо, як її усунути.
Що таке помилка 405 Method Not Allowed?
Помилка 405 — це тип HTTP-статус коду. Це означає, що це повідомлення, яке сервер надсилає вашому веб-браузеру, пояснюючи, чому він не може надати контент, який ви запросили.
Сервер
Сервер — це комп’ютер, який зберігає дані. Веб-сервер — це тип сервера, який зберігає та надає веб-сторінки користувачам. Веб-сервери підключені до інтернету та використовують HTTP для надсилання веб-сторінок користувачам, які їх запитують.
Читати більшеПостійний статусний код 405 є проблемою для будь-кого, хто веде вебсайт. Якщо кілька користувачів бачать ту саму помилку, це означає, що на вашому сайті щось налаштовано неправильно.
Доки ви не виправите проблему, відвідувачі не зможуть отримати доступ до сторінки, де відображено код помилки.
Цей код помилки може відображатися як:
- 405 Метод Не Дозволено
- 405 Не Дозволено
- Метод Не Дозволено
- Помилка HTTP 405
- HTTP Помилка 405 – Метод Не Дозволено
- HTTP 405 Метод Не Дозволено
Що спричиняє помилку 405?
Давайте стати трохи більш технічними.
Коли ви намагаєтеся відвідати певну веб-сторінку, ваш браузер просить хостинг-сервер надіслати вміст. Зазвичай сервер бачить цей запит і миттєво відправляє сторінку прямо на ваш пристрій. Успіх!
Цей весь процес регулюється HTTP, або Протоколом передачі гіпертексту. Цей протокол використовує серію статусних кодів для відстеження прогресу та проблем.
Коди у 400-х вказують на помилки з боку клієнта. А код помилки 405 Method Not Allowed означає, що ваш браузер надіслав HTTP-запит (GET, POST, PUT тощо), який не дозволений для цього конкретного ресурсу або URL.
У багатьох випадках це провокується діями користувача. Найпоширенішою причиною є введення неправильного URL.
Однак, код помилки 405 також може з’явитися, коли щось пішло не так із конфігурацією вашого вебсайту. Ми розглянемо деякі з цих проблем пізніше.
Яка різниця між помилками 404 та 405?
Як помилки 404, так і 405 перешкоджають користувачам отримувати доступ до контенту на вашому вебсайті, але вони стосуються різних проблем.
Код помилки 404 з’являється, коли хтось відвідує URL, де не існує контенту. Наприклад, це іноді трапляється, коли сторінки видаляються або змінюються домени.
У свою чергу, помилка 405 означає, що ваш сервер відхиляє HTTP-запит з браузера. Вміст існує, але сервер відмовляється надавати доступ, оскільки запит було зроблено у неправильному форматі.
Як виправити помилку 405 Method Not Allowed
Розуміння причин помилки 405 є важливим кроком у вирішенні проблеми.
Однак, цей код стану не повідомляє нам точно, що не так. Єдиний спосіб визначити конкретну проблему – це усунення проблем.
Готові розпочати? Ось список можливих рішень:
1) Перевірте свої посилання
Коли ви помічаєте помилку 405 у мережі, є велика ймовірність, що ви просто перейшли на неправильну сторінку.
З міркувань безпеки веб-сервери зазвичай налаштовані на прийом лише специфічних типів запитів на кожну URL-адресу. Якщо ви відвідаєте сторінку, яка не є відкритою для доступу, ви можете побачити повідомлення про помилку 405.
Якщо відвідувачі вашого сайту постійно бачать коди помилки 405, це може бути через те, що вони переходять за неправильним посиланням.
Один із способів запобігти цьому — перевірити ваш сайт за допомогою Dead Link Checker або подібного безкоштовного інструменту. І переконайтеся, що жодне з ваших посилань на соціальні мережі та сторінки приземлення не ведуть на приватні сторінки.
2) Перевірте ваші оновлення
Чи ви оновили вашу систему управління контентом, вашу тему чи навіть плагін нещодавно? Це може бути причиною, чому ви раптом бачите повідомлення про помилку 405 Method Not Allowed.
Оновлення є необхідними для підтримки хорошої безпеки веб-сайту. Вони також можуть усувати існуючі помилки та надавати доступ до нових функцій. Але іноді нові оновлення вносять нові проблеми.
Якщо ви не впевнені, чи потрібно оновлення, увійдіть до свого адміністративного акаунта та перейдіть на сторінку Панель керування > Оновлення. Тут ви побачите часову мітку останнього перевірки WordPress на наявність оновлень. За потреби ви можете натиснути «Перевірити знову», щоб вручну перевірити наявність оновлень.
На жаль, іноді оновлення може зламати ваш сайт. Щоб виправити це, ви можете просто повернутися до попередньої версії системи, теми або плагіна, який може викликати проблеми.
Точний процес тут залежить від того, що вам потрібно понизити. Наприклад, користувачі WordPress можуть використовувати WP Downgrade plugin для повернення до попередньої версії.
Для деяких вебсайтів найпростішим шляхом може бути просто відновлення вашого сайту з резервної копії — дивіться крок 10 для отримання додаткової інформації.
Як знизити версію WordPress Plugins та Themes
Якщо ви вважаєте, що конкретна тема або плагін є причиною проблеми, ми рекомендуємо використовувати WP Rollback плагін. Після активації він дає вам можливість знизити рівень будь-якого плагіну або теми, яку ви встановили.
Просто відкрийте Plugins > Installed Plugins або Appearance > Themes у вашій адміністративній зоні WordPress, і ви побачите маленьку кнопку “Rollback” під кожним плагіном або темою.
Клікніть тут, і WP Rollback дозволить вам вибрати точну версію, яку ви хочете відновити.
Після завершення зниження рівня, обов’язково натисніть Активувати на плагіні або темі, щоб застосувати стару версію.
3) Видалення нових Plugins, модулів та тем
Так само як оновлення існуючих плагінів і тем можуть зіпсувати речі, так само можуть і нові доповнення до вашого сайту.
З огляду на це, варто деактивувати нові плагіни, модулі та теми, якщо ви починаєте бачити помилки 405 Method Not Allowed на вашому сайті.
Знову ж таки, процес тут залежатиме від системи управління контентом, яку ви використовуєте.
У WordPress, ви можете це зробити через адміністративну зону. Перейдіть до Plugins або Appearance > Themes, і ви повинні побачити маленьку червону кнопку Deactivate поруч з кожним плагіном та темою.
Не впевнені, який plugin викликає проблему? Ви можете вимкнути всі ваші plugins протягом хвилини через FTP або SSH:
- У вашому FTP/SSH клієнті перейдіть до директорії вашого сайту WordPress
- Перейдіть до wp-content та клацніть правою кнопкою миші на plugins
- Виберіть Перейменувати
- Змініть назву папки на /plugins_OFF
Це негайно відключить усі плагіни. Коли ви захочете відновити процес, просто повторіть кроки та перейменуйте папку на plugins.
Якщо ви хочете видалити теми через FTP/SSH:
- Відвідайте каталог вашого сайту
- Перейдіть до wp-content/themes directory.
- Видаліть папку теми, яку ви хочете видалити
Просто майте на увазі, що вам може знадобитися зберегти резервну копію цієї папки, на випадок, якщо тема не буде винна.
4) Відновіть вашу базу даних
Плагіни та теми зазвичай потребують принаймні деякого доступу до вашої бази даних для виконання своїх функцій.
Іноді вони стають трохи неслухняними і починають вносити зміни в частини бази даних, які їх не стосуються. Ці зміни можуть викликати помилки 405.
База даних
База даних – це колекція інформації, доступної для комп’ютерів. Бази даних використовуються для зберігання інформації, такої як записи клієнтів, каталоги продукції та фінансові транзакції.
Читати більшеНавіть якщо ви видалите проблемний плагін або тему, зміни, які вони внесли, залишаться. Існує лише два способи вирішити ці проблеми:
- Перегляньте логи вашої бази даних на предмет проблемних змін
- Відновіть попередню версію вашої бази даних
Логи баз даних
Щоб отримати доступ до логів бази даних вашого вебсайту, перейдіть до панелі керування вашого хостинг-провайдера. Зазвичай, доступ до логів можливий тільки якщо у вас приватний сервер.
Для баз даних, які розміщені на DreamHost, перейдіть до MySQL Databases щоб знайти назву вашої MySQL Databases, а потім зв’яжіться з технічною підтримкою, щоб отримати доступ.
Якщо ви точно знаєте, коли почали з’являтися помилки 405, ви можете знайти проблемну зміну в базі даних, відсортувавши логи за часом. Ви шукаєте зміни “INSERT”, “UPDATE” або “DELETE”.
Майте на увазі, що вам потрібні глибокі знання веб-розробки для виявлення потенційних проблем тут. Якщо ви не впевнені, що саме ви бачите, уникайте внесення змін та звертайтеся до професіонала.
Відновіть вашу базу даних
Якщо у вас немає навичок розробника, відновлення вашої бази даних до попередньої версії, ймовірно, є більш реалістичним варіантом.
Як і з даними сайту, DreamHost автоматично створює резервну копію вашої бази даних щодня. Щоб відновити одну з цих резервних копій:
- Відвідайте сторінку MySQL Databases у вашому акаунті
- Клікніть кнопку Restore DB праворуч від вашої бази даних
- Виберіть час резервної копії, яку хочете відновити
- Під When restoring, виберіть опцію 3 або 4 залежно від вашої CMS; виберіть опцію 4 для WordPress
5) Читайте серверні логи
Так само, як ваші логи бази даних можуть вказувати на проблеми, що призведуть до помилок 405, ми також можемо знайти підказки в логах на стороні сервера.
Файли, які ми шукаємо тут, називаються error.log та access.log. З DreamHost ви можете переглянути їх через SFTP (Протокол безпечної передачі файлів):
- У вашому FTP-клієнті перейдіть до директорії /logs у вашій користувацькій папці
- Відкрийте сайт, який ви хочете перевірити
- Відкрийте найновішу директорію з назвою, яка починається з http
- Відкрийте файл лога всередині, використовуючи ваш улюблений текстовий редактор
Коли ви переглядаєте файли, перевірте наявність помилок, пов’язаних з конфігурацією сервера або змінами у коді вашого веб-додатку.
6) Підтвердіть конфігурацію вашого веб-сервера
Як ми згадували раніше, помилка 405 Method Not Allowed виникає, коли веб-сервер відхиляє запит.
Більшу частину часу це корисно. Якби ваш сервер не блокував певні методи запитів, ваш сайт міг би легко бути переповнений небажаною увагою.
Але як і занадто агресивний охоронець клубу, іноді веб-сервери блокують неправильний тип запитів або помилково обмежують доступ до певного вмісту. Це зазвичай викликано неправильною конфігурацією сервера. В результаті відвідувачі перенаправляються на сторінку помилки.
Щоб з’ясувати, чи є це проблемою вашого сайту, вам потрібно відвідати файл конфігурації вашого сервера. Точна назва файлу буде залежати від того, чи є ваше програмне забезпечення веб-сервера Apache, Nginx, чи Cloudflare.
Ми за замовчуванням використовуємо Apache в DreamHost, тому ви шукаєте .htaccess файл у кореневій директорії вашого сайту. На планах VPS у вас є можливість перейти на хостинг Nginx; в цьому випадку ваш файл конфігурації буде nginx.conf.
Після знаходження відповідного файлу відкрийте його у вашому улюбленому текстовому редакторі. Далі, шукайте команди перезапису. Вони асоційовані з модулем mod_rewrite Apache.
Цей модуль дозволяє вам модифікувати URL-адреси, які запитують користувачі, до їх обробки сервером. Це може бути корисним, коли ви хочете перенаправити користувачів на іншу сторінку, перенаправити певні типи трафіку або просто показати більш зручну URL-адресу.
Проблеми зазвичай пов’язані з командами, подібними до цих у вашому файлі конфігурації:
RewriteRule ^(.*)$ http: //example.com [R=405, L]
Це змушує сервер повертати статусний код HTTP-відповіді 405, коли хтось відвідує URL, зазначений у команді.
Якщо у вас виникають постійні помилки, спробуйте закоментувати такі команди у вашому файлі конфігурації. Ви можете зробити це, додавши # на початку рядка, який ви хочете закоментувати.
Альтернативно, ви можете змінити директиву з RewriteEngine ON на RewriteEngine OFF.
7) Виправлення прав доступу до файлів
Ще одна причина, чому сервер може блокувати доступ до певного вмісту, полягає в тому, що ваші дозволи на сайт налаштовані неправильно.
Наприклад, ваш сервер може дозволити адміністратору використовувати певний HTTP-метод. Але коли звичайний відвідувач сайту намагається зробити те саме запитання, його блокують і видають код помилки.
Найшвидший спосіб перевірити та керувати дозволами зазвичай через вашу панель. Користувачі DreamHost можуть використовувати вбудований файловий менеджер:
- Відвідайте Управління веб-сайтами та натисніть кнопку Управління
- Відкрийте директорію вашого веб-сайту
- Щоб переглянути дозволи, клацніть правою кнопкою миші на будь-який файл та виберіть CHMOD
Ви можете виявити, що один з ваших важливих файлів не має публічного доступу до читання.
Якщо ви керуєте власним приватним сервером або VPS, також варто перевірити налаштування конфігурації. Ваш сервер може бути налаштований на прийом лише певних методів HTTP-запитів для специфічних типів файлів.
8) Відладка вашого коду
Остаточно, причиною помилок 405 може бути те, що щось не так із кодом вашого веб-сайту або веб-додатку.
Для діагностики таких проблем вам потрібно буде дотримуватися повного процесу відлагодження. Це, як правило, включає створення повної локальної копії вашого вебсайту, а потім спробу відтворити помилку. В альтернативі, ви можете використовувати онлайн середовище розробки.
Точний процес, якому вам потрібно слідувати, залежить від CMS, скриптів і мов програмування, які ви використовуєте. Якщо ваш сайт працює на WordPress і ви впевнені у командному рядку, ви можете спробувати використати WP-CLI.
9) Відновіть свій повний вебсайт
Іноді в житті потрібно знати, коли прийняти поразку і, як кажуть діти, «прийняти поразку».
Якщо ви спробували інші способи виправлення і нічого не допомагає, можливо, вам просто потрібно відновити ваш сайт до стану, який був до появи помилок клієнта.
Коли ви розміщуєте будь-який вебсайт на DreamHost, ми завжди рекомендуємо робити регулярні резервні копії та зберігати копію цих файлів офлайн. Але ми зберігаємо щоденні резервні копії кожного вебсайту, який розміщений на наших серверах.
Хмарний Хостинг
Традиційний хостинг розміщує веб-сайт на фізичному сервері. З іншого боку, «хмарний хостинг» використовує кілька віртуальних (віддалених) серверів для тієї ж задачі.
Читати даліЦе означає, що ви можете відновити ваш сайт до стану, який був вчора, за декілька кліків.
Для цього перейдіть за посиланням Hosted Domains та натисніть кнопку Відновити справа.
Потім виберіть, наскільки далеко у часі ви хочете повернутися, та виберіть опцію “Зробити резервну копію активною”. Це замінить ваш поточний активний сайт вибраною резервною копією.
Якщо ви користуєтеся DreamPress, ви можете завершити той самий процес, відвідавши Керований WordPress та натиснувши кнопку Керувати поруч з вашим доменом.
Далі виберіть тег Backups і натисніть Restore на архівній версії, яку ви хочете використати. Підтвердіть за допомогою Start restore, і ваш сайт скоро повернеться до стану, який був до помилки 405.
10) Перевірте Ваші A записи
Остання порада: переконайтеся, що A records для вашого домену налаштовані правильно.
У деяких випадках ви можете побачити помилки 405, якщо ваші A-записи вказують на неправильний сервер. Наприклад, сервер, налаштований для розміщення вашого веб-сайту, може мати інші правила, ніж сервер, налаштований для розміщення API (інтерфейс програмування застосунків).
Якщо ваш домен зареєстровано або керується через DreamHost, ви можете перевірити свої A записи, відвідавши Керування веб-сайтами:
- Натисніть на три крапки
- Виберіть DNS Settings у меню
Бонус: Припиніть помилки 405 у ваших API-викликах
Якщо ваш сайт залежить від з’єднання з зовнішнім API, ви можете зіткнутися з помилкою 405, оскільки сервер API відмовляє у вашому запиті. Це часто пов’язано з неправильним форматуванням запиту.
Щоб запобігти цьому, не забудьте включити заголовок “Content-Type” у ваші POST запити. Ось деякі приклади:
- Java/PHP – Content-Type: application/json
- HTML – Content-Type: text/html; charset=UTF-8
- XML – Content-Type: application/xml
Також було б добре додати заголовок “Accept”:
- Java/PHP – Приймає: application/json
- HTML – Приймає: text/html
- XML – Приймає: application/xml
Не забудьте також перевірити документацію API. Ви можете виявити, що тип запиту, який ви робите, не підтримується API. Так само ваші логи сайту або додатку можуть розкрити основну проблему тут.
Як запобігти поверненню помилки 405
Пропрацювати всі вищезазначені кроки – немале завдання. Але якщо ви готові докласти зусиль, ви зможете усунути всі помилки 405, які з’являються на вашому вебсайті або додатку.
Хочете переконатися, що вам не доведеться проходити через все це знову? Ось кілька ключових порад:
- Перевірте свій сайт – Щоразу, коли встановлюєте нові плагіни чи теми, обов’язково проведіть деякі тести. Якщо зміна призведе до помилок 405, добре знати про це заздалегідь!
- Звертайте увагу на автентифікацію – Завжди стежте за тим, хто має доступ до яких ресурсів на вашому сервері.
- Допоможіть своїм користувачам у вирішенні проблем – У більшості випадків помилки 405 стосуються конкретного користувача. Розгляньте можливість налаштування спеціальних сторінок помилок, які містять інформацію про те, як користувачі можуть виправити проблему самостійно.
За допомогою невеликої наполегливості, ви можете подолати помилку 405 раз і назавжди, та забезпечити безперервний досвід перегляду для ваших відвідувачів!