Добрый день!
Ошибка 500 (HTTP ERROR 500) появляется в случае, когда на сервере при обработке запроса произошла ошибка, но никакой дополнительной информации об этой ошибке нет. То есть, это очень общая ошибка и возникать может по множеству причин.
Об основных причинах возникновения ошибки 500 и о способах ее устранения я расскажу в этой статье.
Самое первое, что вам необходимо сделать - проверить ваш лог ошибок - файл error.log. Скорее всего там будет подробно описано, почему и где возникла ошибка 500.
Ошибка в файле .htaccess
Если вы используете веб-сервер Apache, то самой частой причиной возникновения ошибки 500 является ошибка в одном из файлов .htaccess. Либо вы сами, либо ваши скрипты (например - установщик любой CMS) внесли изменения в .htaccess и они некорректны. Проверьте вручную все файлы .htaccess, перезагрузка Apache после этого не требуется.
Ошибка 500 из-за ошибки в php-коде
Некоторые веб-серверы настроены так, что не показывают ошибки в php коде, а вместо этого всегда отдают ошибку 500. Это правильно с точки зрения безопасности и не доставляет особых проблем владельцу сайта. Настоящую ошибку вы всегда можете увидеть в вашем error.log. Для иллюстрации к этой статье я вызвал ошибку 500 именно с помощью ошибки в php коде:
Ошибка из-за медленного выполнения скрипта
Некоторые скрипты могут работать очень медленно. Если скрипт работает более определенного времени (обычно это 30 секунд), то веб-сервер обрывает его работу и выдает пользователю ошибку 500. Администратор сайта в таком случае увидит в error.log следующий текст:
Fatal error: Maximum execution time of 30 seconds exceeded
Такая ошибка обычно возникает из-за плохого php-кода, либо из-за медленной работы базы данных. Постарайтесь не использовать скрипты от начинающих и неопытных разработчиков.
Если у вас остались вопросы или нужны уточнения - пожалуйста, задайте вопрос или оставьте комментарий.