Даже на таком надежном движке, как Joomla, не все всегда бывает гладко. Порой сайт не открывается, а вместо него появляется окно с текстом, что обнаружена ошибка. Если при входе на свой ресурс вы нашли подобное сообщение, не волнуйтесь — любую ошибку можно исправить. В данной статье будет рассмотрена ошибка Internal Server Error, которая вылетает под номером 500. 
Почему при входе на сайте появляется ошибка 500
Эта проблема может появиться не только на ресурсе, на котором установлен Joomla.
Ошибка 500 «всеядная» и может съесть сайт на любом другом движке, не только Joomla или WordPress.
Причин возникновения сообщения Internal Server Error при входе очень много и без анализа проблемы вы не сможете найти истинное объяснение.
Анализ возникновения Internal Server Error необходимо начинать с сервера. Дело в том, что ошибка 500 касается именно проблем сервера. При этом необязательно нужно считать, что виноват хостинг-провайдер. Вполне может быть, что это вы сделали что-то не так. Ответить на этом можно только после просмотра файла сервера error.log. В нем содержится информация по последним ошибкам и вы наверняка найдете строчку с причиной, почему ваш сайт накрылся при входе. Самые частые поводы для появления надписи Internal Server Error:
- очень часто пользователи превышают допустимые права на хостингах и сервера их банят за это;
- вы пытаетесь запустить файл с недопустимым атрибутами;
- определенный php-скрипт мог превысить лимит ожидания и сайт не открылся;
- кроме того, ошибка 500 могла появиться, так как была обнаружена тотальная неисправность в php-коде;
- вы попытались использовать файлы PERL, но функция их открытия на сервере не предусмотрена.
Как вы уже поняли, все полностью зависит от сервера. И если на сайте обнаружена ошибка 500, значит вы сделали что-то так, как нельзя было делать на данном хостинге. Либо превысили свои права и провайдеру нужно доплатить за это, либо установили на сайт Joomla программный код, который не поддерживается сервером.
Как исправить Internal Server Error
Проблема в том, что зачастую сайты Joomla размещают на бесплатных хостингах. В таком случае даже если ошибка обнаружена на сайте, вы не сможете просмотреть лог и узнать, откуда растут ее корни. На платном хостинге вы бы могли написать в службу поддержки, и вам, как платящему клиенту провайдера, живо бы объяснили в чем причина и как устранить неполадку. В ином случае бороться с ошибкой придется самостоятельно.
https://www.youtube.com/watch?v=LvrTwMFvzw8
Очень часто проблема находится в файле .htaccess. В этом файле прописано, что разрешено делать движку, согласно требованиям сервера. Если есть несоответствия реальным требованиям хостинга и наступает момент, когда движок пытается загрузить недоступную функцию, тогда и появляется надпись с ошибкой. Найдите лог ее и тогда поймете, что нужно убрать с файла .htaccess. К примеру, если в логе написано:
php_value not allowed here
то проблема кроется в строке php_value в файле .htaccess.
Если вы новичок и не понимаете всю «пургу», написанную выше, тогда можно исправить ошибку более простым методом. Но вы сможете это сделать при условии, что ранее производили бэкап системы. Именно для таких случаев и необходимо постоянное резервное копирование всех файлов системы — в один «прекрасный» день все может накрыться медным тазом из-за ошибки сервера или даже взлома сайта.
Вам предстоит восстановить последнюю рабочую версию сайта Joomla. Сделать это можно, если переместить старые файлы на хостинг при помощи FTP-клиента. А порой проблема появляется после обновления движка до более новой версии. В таком случае вам понадобится откат. Похоже, что сервер не готов работать с новой версией Joomla и не соответствует требованиям.
Если ошибка сервера появляется слишком часто и вам приходится отказываться от инструментов, которые вам необходимы, тогда задумайтесь над сменой хостинг-провайдера. Найдите такой сервер, который дает вам широкие права и где есть нормальная служба поддержки, всегда готовая удружить заблудшим вебмастерам.
Внутренняя Ошибка Сервера(Internal Server Error)
Сервер столкнулся с внутренней или неправильной ошибкой и был неспособен закончить ваш запрос.
При возникновении ошибки сервера в первую очередь необходимо просмотреть файл сервера error.log. В этом файле может содержаться строка с кодом ошибки.
Сначала необходимо подумать — а что же вы меняли на сайте, возможно, откатив изменения, можно добиться нормализации работы сайта. После этого можно посмотреть в логи ошибок. Там, скорее всего, указано из-за чего она произошла (открываем в любом текстовом редакторе и смотрим записи на момент обращения к сайту — столбик с датой самый первый).
- Типичным примером причины возникновения ошибки сервера может быть превышение разрешенных прав на хостинге.
- Например, происходит попытка выполнить файл с атрибутами, не разрешёнными для запуска на сервере (например, файл имеет атрибуты 0755, а допускается 0711).
- Также возможной причиной может быть наличие лимита по времени на исполнение php-скриптов.
- Или у системы нет прав на запись или чтение файла и др.
- Обратите внимание, если PHP работает как CGI, то 500 ошибка на сервере может быть вызвана фатальной ошибкой PHP. В этом случае рекомендуется выполнить проверку программного кода и диагностировать ошибку.
- Внутренняя ошибка сервера может возникнуть при запуске из-под Apache CGI-скрипта, время исполнения которого превышает время, отведенное на выполнение скрипта в настройках сервера.
- Возможно вы используете файлы PERL (обычное расширение *.pl или *.cgi, возможны и другие варианты) которые находятся не в папке /cgi-bin/ и у вас не включена опция +ExecCGI.
Таким образом, всё зависит от конфигурации сервера.
Важно понимать, указанные ограничения не настраиваются через настройки PHP в php.ini.
В нормальной ситуации такая ошибка и её причина фиксируется в логах сервера. Вам необходимо обратиться к хостеру с просьбой указать, что является причиной возникновения ошибки и попросить её устранить (например, увеличить ресурсы).
Если у вас бесплатный хостинг и нет возможности посмотреть логи — значит надо восстанавливать сайт из бэкапа или вспоминать что же вы делали, что все так получилось.
Но в большинстве случаев — проблема находится в содержимом файла .htaccess либо htaccess.txt.
Распространенной причиной возникновения внутренней ошибки сервера является нарушение конфигурации сервера или попытка использования неразрешенных инструкций, например, в файле .htaccess. Например, установка параметров запуска php-интерпретатора php_value (запись в логах «php_value not allowed here» прямо говорит о том, что хостер запретил менять настройки пхп и вам нельзя использовать данную директиву).
В этом случае необходимо закомментировать либо удалить строку, содержащую неразрешенную директиву, в соответствующем файле (например, .htaccess).
Для примера обратим внимание на следующие строки:
# Установка кодировки сайта по умолчанию. При необходимости, закомментируйте.
AddDefaultCharset WINDOWS-1251
## Может быть закомментировано, если вызывает ошибку сервера. Смотрите примечания выше.
Options +FollowSymLinks
Использование mod_rewrite, который нужен для работы SEF-адресов ссылок. Тут наоборот комментарии нужно убрать и переименовать htaccess.txt в .htaccess (если есть необходимость).
Если уж ничего не помогает то может стоит обратиться в хостинг компанию за разъяснениями.
Поделитесь с друзьями:
Появление ошибки 500 Internal Server Error при входе на ваш сайт скорей всего связано с неправильно указанными параметрами в .htaccess файле, который находится в папке с вашим сайтом.
В файле .htaccess нужно внести следующие изменения:
- Директиву Options +FollowSymLinks заменить на Options +SymLinksIfOwnerMatch
- Убрать параметр +ExecCGI
- Закомментировать параметр AddHandler, php_value, php_flag (закомментировать параметр в .htaccess можно добавив в начало строки знак #)
- Удалить директиву -MultiViews
Например, есть параметры:
Закомментированные они должны выглядеть так:
У вас нет прав для добавления комментария. Зарегистрируйтесь!