opened image

Помилка 406 Not Acceptable


Вступ


Під час перегляду різних веб-сайтів користувачі можуть зіткнутися з різними помилками. Одна з найбільш поширених – це помилка 406 Not Acceptable. Код помилки HTTP 406, відомий як "Not Acceptable" (неприйнятно), є відповіддю сервера, який вказує на неможливість надати відповідь, що відповідає значенням, зазначеним у заголовках запиту клієнта. Ця помилка зазвичай виникає, коли сервер не може надати контент, який відповідає критеріям, зазначеним клієнтом у заголовку Accept.

У цій статті ми розглянемо, що таке помилка HTTP 406, які фактори її викликають і як її виправити, якщо вона виникає на вашому сайті.

 

Що таке помилка HTTP 406?


Коли веб-браузери запитують інформацію з сервера, вони надсилають заголовок Accept, який повідомляє серверу, в яких форматах браузер може прийняти дані. Якщо сервер не може надіслати дані у форматі, зазначеному в заголовку Accept, він повертає помилку 406 Not Acceptable.

Помилка також може бути згенерована модулем mod_security. mod_security - це тип програми-файрвола, що працює на веб-сервері Apache, який сканує на порушення встановлених правил. Якщо якесь діяння порушує одне з цих правил, сервер видає помилку 406.

 

 

Причини помилки 406 на сайті


На сайтах, розміщених на вашому хостинговому акаунті, причиною помилки 406 зазвичай є правило mod_security на сервері. mod_security – це модуль безпеки на веб-сервері Apache, який за замовчуванням увімкнений на всіх хостингових акаунтах. Якщо сайт, сторінка або функція порушує одне з цих правил, сервер може надіслати помилку 406 Not Acceptable.

 

Як виправити помилку 406 Not Acceptable


1. Ознайомтесь із повідомленням про помилку


Коли ви стикаєтеся з помилкою HTTP 406, сервер зазвичай включає повідомлення з додатковою інформацією про помилку. Почніть з прочитання цього повідомлення, щоб зрозуміти конкретну проблему.

 

2. Перевірте заголовки запиту

 

Помилка HTTP 406 пов'язана з заголовком Accept у запиті клієнта. Цей заголовок визначає типи медіа (типи контенту), які клієнт може прийняти як відповідь. Сервер перевіряє цей заголовок, щоб визначити, чи може він надати контент, який відповідає уподобанням клієнта. Переконайтесь, що заголовок Accept правильно встановлено у вашому запиті.

 

Приклад заголовка Accept для прийняття JSON:

 

Accept: application/json

 

 

Приклад заголовка Accept для прийняття як JSON, так і XML:

 

Accept: application/json, application/xml

 

У панелі cPanel для усунення помилки 406 можна вирішити цю проблему наступним чином:

 

Вимкнення mod_security


Якщо ви підозрюєте, що mod_security є причиною помилки, спробуйте тимчасово вимкнути його для конкретного домену. У cPanel це можна зробити наступним чином:

 

Увійдіть до cPanel: Перейдіть до панелі керування вашим сайтом, ввівши свої облікові дані.

Знайдіть розділ "Безпека": Відкрийте модуль "ModSecurity".

 

 

 

Вимкніть mod_security для домену: Знайдіть потрібний домен у списку і вимкніть модуль, знявши галочку або вибравши відповідну опцію.

 

 

 

Перевірте сайт: Після вимкнення mod_security спробуйте знову зайти на сайт і перевірити, чи зникла помилка.

 

Важливо: Вимкнення mod_security знижує рівень безпеки сайту. Переконайтесь, що ви правильно налаштували його перед повторним увімкненням.

 

 

Конфігурація .htaccess у cPanel
​​​​​​​

Редактор .htaccess: Перейдіть у "Файловий менеджер" у cPanel і відкрийте файл .htaccess, що знаходиться в кореневій директорії вашого сайту.

 

 

​​​​​​​

 

Налаштуйте директиви: Внесіть зміни у файл для правильної конфігурації контентного узгодження. Наприклад, додайте директиви, які допоможуть серверу краще обробляти запити: