Internal Server Error или ошибка 500
Чтобы установить причину, по которой возникает ошибка 500, просмотрите логи. Возможно, в файле error.log есть запись, указывающая на причину проблемы. Рассмотрим самые распространенные варианты.
Недостаток ресурсов
Если причина в этом, проблема решается очень просто - обратитесь к хостинг-
провайдеру с просьбой об увеличении ресурсов.
Наличие неработоспособных скриптов или лимитированное время на их исполнение.
Также вебмастера могут столкнуться с подобной ошибкой, если будут запускать CGI-скрипт из-под Apache, в случае, если времени, указанного в настройках сервера, недостаточно на выполнение скрипта.
Если скрипты ранее работали, и проблемы появились, например, при переезде на другой хостинг, проблема может быть вызвана другими причинами. Например, тем, что сервер блокирует запросы.
Ошибки в выставлении прав доступа
Если причина, по которой появилась ошибка 500, в этом, используйте FTP-менеджер для изменения прав доступа. С этими функциями прекрасно справляется Filezilla.
В файле .htaccess содержатся неподдерживаемые директивы
Проверьте, присутствует ли в корне сайта, либо в другом месте, файл .htaccess. Если таковой имеется, откройте его при помощи любого текстового редактора. Можете использовать Блокнот.
Ошибка 500 может появиться, если вы используете сервер, работающий на suPHP, т.е. поддерживающий php.ini. Если в файле .htaccess присутствуют директивы, изменяющие параметры PHP-окружения, могут появиться проблемы. Самые распространенные директивы - php_admin_flag, php_flag и php_value.
Часто в качестве инструкций включаются глобальные переменные - Register Globals.
Данная проблема решается очень просто - нежелаемые параметры можно просто удалить. Другой вариант - закомментировать их с помощью добавления знака # в начало строки. Между решеткой и названием директивы должен стоять знак пробела.
Если вам обязательно нужно выполнение закомментированных параметров, их можно прописать в файле php.ini. При этом использовать php_admin_flag, php_flag и php_value не нужно - просто обозначьте их по принципу: "название требуемого параметра = On".
Фатальная ошибка PHP
Если ни одно из предлагаемых решений не устраняет ошибку, обратитесь к хостеру. Подробно разъясните ему, когда и после каких действий появилась ошибка 500. Попросите указать причины проблемы и оказать помощь в ее устранении. В случае, если хостер не в состоянии выяснить, почему появилась ошибка http 500 Internal Server Error, обратитесь в службу поддержки CMS, которую вы используете. В письме обязательно укажите все подробности, в т.ч. - комментарии хостинг-провайдера относительно вашей ситуации.