hosting:errors:500

2.20.5. Ошибка 500 Internal Server Error

Достоверно определить причину возникновения 500 ошибки возможно, изучив Error-лог сайта.

Ещё одним вариантом обнаружения источника проблемы может быть использование инструмента «Техническая проверка сайта» в разделе «Мои сайты».

Чаще всего появление ошибки 500 связано с неправильно указанными директивами в файле .htaccess, который находится в каталоге вашего сайта. Отредактировать данный файл возможно с помощью файл-менеджера или любого FTP-клиента.

Если было установлено, что проблема связана с файлом .htaccess, то вам следует попробовать внести следующие изменения:

  • Options +FollowSymLinks — нужно заменить на Options +SymLinksIfOwnerMatch.
  • Options All -Indexes — нужно заменить на Options -Indexes.
  • +ExecCGI — нужно удалить.
  • AddHandler — нужно удалить.
  • php_value — нужно удалить.
  • php_flag — нужно удалить.
  • -MultiViews — нужно удалить.

Закомментировать директивы в файле .htaccess можно, поставив в начале строки символ # .

Если в Error-логе сайта присутствует ошибка Script file is writable by others, то вам необходимо восстановить стандартные права на файлы по инструкции или вручную, указав для файлов права 640.

Такая ситуация может возникать при восстановлении из резервной копии или загрузке файлов нового сайта.

В большинстве случаев эту директиву достаточно закомментировать, поскольку она используется для включения сжатия на основе Content-Type, а на нашем хостинге за сжатие отвечает nginx и до Apache чаще всего эти запросы не доходят.

В формате Apache 2.2 директива выглядит так:

FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/html

В Apache 2.4 эта же директива выглядит так:

FilterProvider  COMPRESS  DEFLATE "%{CONTENT_TYPE} = 'text/html'"

Исправить ситуацию можно путём изменения синтаксиса директив со старого на новый.

Комментарии в конце строки могут вызывать ошибку …htaccess: No comments are allowed here.

В более новых версиях Apache для написания комментария требуется вся строка. То есть когда вы добавляете символ #, чтобы сделать комментарий, он должен быть первым непустым символом в строке. Если вы добавите какие-либо непустые символы перед знаком решетки, получите ошибку 500.

Например, любой из этих комментариев является правильным:

# this is a comment
     ## this is another comment
                  ### multiple pound signs are fine

Примеры недопустимых комментариев, приводящих к ошибке:

ExpiresActive on # this will trigger an error
RedirectMatch 403 /spamhole/ # this will trigger an error
# this will
           trigger an error
  • hosting/errors/500.txt
  • Последние изменения: 2019/10/01 12:28
  • — zinenko