Виявити справжню причину виведення на дисплей повідомлення помилка 500 Internal Server Error допоможе вивчення журналу сервера (error_log), в якому зберігаються файли, що інформують про роботу системи, протоколи скоєних дій і іншi дані. Вони перебуває в «Панелі управління хостингом», в розділі «Сайти та домени» –> «Ім’я вашого домену» –> «Журнали».
Що призводить до внутрішньої помилку сервера, як це виправити?
1. В основному, поява помилки виникає при невірно зазначених параметрах файлу .htaccess. Він розміщений в кореневому каталозі вашого сайту:
Відкоригувати його можна в підрозділі «Файли», скориставшись опцією «Файл менеджера».
Щоб внести в файл зміни, приберіть наступні директиви, якщо вони зустрічаються:
- +ExecCGI
- AddHandler, php_value, php_flag
- MultiViews
Або спробуйте замінити директиви:
- Options +FollowSymLinks на Options +SymLinksIfOwnerMatch
- Options All -Indexes на Options -Indexes
2. Якщо вказані неправильні права і в error_log присутній помилка Script file is writable by others «Скрипт файл доступний для запису іншими», тоді відновіть стандартні права файлів. Це виникає, якщо завантажуються дані нового сайту або виконано відновлення з backup. Вкажіть вручну права 640.
3. Ще один варіант виникнення проблеми, коли використовують застарілий синтаксис директиви FilterProvider,яка застосовується для стиснення Content-Type. Якщо випадок нескладний, то досить змінити синтаксис директиви. На хостингу Ukrhost за стиснення відповідає nginx і до apache ці запити просто можуть не доходити.
Для apache 2.2 директива виглядає так:
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/html
В apache 2.4 так:
FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'text/html'"
Якщо виникла помилку не виходить виправити самостійно, то на допомогу прийдуть фахівці компанії UkrHost, які забезпечать стабільну роботу і підтримку вашого хостингу, незалежно від того, в якому населеному пункті України ви знаходитеся.