Краткий ответ
Ошибка 500 (Internal Server Error) означает, что сервер не смог обработать запрос из-за ошибки в конфигурации, коде или правах доступа. Быстрее всего устраняется проверкой журнала ошибок, отключением недавно добавленных плагинов и восстановлением резервной копии при необходимости.
Как проявляется проблема
- Страница отображает белый фон с текстом «500 Internal Server Error»
- Сайт открывается периодически, а периодически выдаёт ошибку 500
- Ошибка появляется только на отдельных страницах или после входа
- Административная панель сайта (например, /wp-admin) также показывает ошибку 500
- После изменения файла .htaccess сайт перестаёт работать
Частые причины
Ошибка в файле .htaccess
Неправильно введённое правило или несовместимый плагин могут вызвать ошибку 500. Это частая причина после ручных изменений или миграции сайта.
Неисправный PHP-код или нехватка памяти
Плагин или тема с ошибкой в коде, или слишком мало памяти PHP, приводят к прерыванию выполнения и отображению ошибки 500.
Неправильные права на файлы и папки
Если файлы имеют неправильные права (например, 777 вместо 644), сервер может отказать в доступе и показать ошибку 500.
Несогласованные версии PHP и плагинов
После перехода на более новую версию PHP старые плагины могут перестать работать и вызвать ошибку 500.
Перегрузка сервера
Временные проблемы на хостинг-сервере (слишком много запросов, падение базы данных) могут привести к ошибке 500.
Пошаговое решение
- 1
Проверьте журнал ошибок панели хостинга
Войдите в панель хостинга (например, cPanel или Plesk) и найдите
Error LogилиЖурналы ошибок. Последние записи покажут точную причину, например,PHP Fatal errorилиPermission denied. Если у вас нет доступа к панели, обратитесь в поддержку хостинга. - 2
Временно отключите .htaccess
Через FTP или файловый менеджер переименуйте
.htaccessв.htaccess.bak. Если сайт заработает, ошибка в правилах; верните файл и удалите спорное правило. Удаление.htaccessвременно отменяет перенаправления и правила безопасности, поэтому верните его как только закончите проверку. Перед изменениями сделайте резервную копию сайта и базы данных. - 3
Отключите плагины и тему
Если вы используете WordPress, через FTP переименуйте папку
wp-content/pluginsвplugins_offи проверьте, открывается ли сайт. Затем возвращайте плагины по одному, пока не найдёте проблемный. То же сделайте и с активной темой при необходимости, но сначала запишите имя активной темы: без её папки сайт отображается без стилей или с темой по умолчанию, поэтому верните папку под первоначальным именем как только закончите проверку. - 4
Увеличьте память PHP и проверьте версию
В панели хостинга или в файле
wp-config.phpдобавьтеdefine('WP_MEMORY_LIMIT', '256M');в часть файла перед строкойrequire_once ABSPATH . 'wp-settings.php';. Значение не может быть больше лимита, который разрешает хостинг. Проверьте также, совместима ли версия PHP с плагинами; при необходимости вернитесь к более старой версии в панели. - 5
Проверьте права на файлы
Через FTP-клиент или файловый менеджер установите права: папки
755, файлы644. Дляwp-config.phpможет потребоваться600или640. Избегайте777, так как это представляет угрозу безопасности. - 6
Восстановите резервную копию, если ничего не помогает
Если вы не можете определить причину, восстановите последнюю исправную резервную копию сайта и базы данных. Это отменит все недавние изменения, поэтому сначала сделайте копию текущего состояния для анализа.
Если ошибка всё ещё продолжается
Если вы отключили все плагины, вернули .htaccess и права, а ошибка 500 всё ещё появляется, проблема, вероятно, на уровне сервера. Обратитесь в поддержку хостинга и отправьте им точное время возникновения ошибки и последние строки журнала ошибок. Примечание: если у вас есть доступ к файлам сайта (FTP или SSH), вы можете временно включить логирование ошибок в wp-config.php строками define('WP_DEBUG', true);, define('WP_DEBUG_LOG', true); и define('WP_DEBUG_DISPLAY', false);; ошибки тогда записываются в wp-content/debug.log. Не включайте отображение ошибок на рабочем сайте, так как посетители тогда видят сообщения и пути на сервере. Все три строки отключите (значения на false) как только закончите анализ. Для сайтов с большим количеством посещений рассмотрите переход на управляемый хостинг, который автоматически решает такие проблемы.
Как избежать повторения
- Регулярно делайте резервные копии сайта и базы данных (ежедневно или еженедельно).
- Обновляйте WordPress, тему и плагины вовремя, но сначала на тестовой среде.
- Избегайте ручных изменений файла .htaccess без предварительной копии.
- Следите за журналом ошибок и сразу реагируйте на повторяющиеся ошибки.
Когда лучше обратиться к специалисту
Если у вас нет доступа к журналам ошибок, вы не умеете работать с FTP или ошибка повторяется после всех шагов, вызовите IT-поддержку. Они смогут быстро изолировать причину и предотвратить длительный простой сайта.
Создание сайтов · Быстрые, SEO-оптимизированные многоязычные сайтыЧастые вопросы
Может ли ошибка 500 исчезнуть сама по себе?
Иногда, если причиной была временная перегрузка сервера. Если она повторяется, обязательно проверьте логи, так как проблема, вероятно, возвращается.
Как узнать, проблема на моём сайте или на хостинге?
Если ошибка появляется на всех страницах, а вы ничего не меняли, вероятно, дело в хостинге. Проверьте страницу статуса хостинга или свяжитесь с ними.
Могу ли я сам исправить ошибку 500 без доступа к панели?
Сложно, так как для диагностики обычно нужны журналы ошибок и доступ к файлам. В этом случае лучше обратиться в поддержку хостинга или к IT-специалисту.