Однажды при переносе сайта на другой хостинг я заархивировал его файлы с помощью архиватора,встроенного в файловый менеджер старого хостинга.Сделал дамп базы данных Wordpress.Затем с помощью FTP - менеджера Filezilla перенес архив с сайтом на сервер нового хостера.Распаковал архив с помощью php unzipper'a прямо на сервере.Восстановил информацию из дампа в новую базу mysql с помощью Sypex Dumper.В общем провел стандартную процедуру по переезду на новый хостинг и уже был готов зайти на веб-сайт и работать с ним.Однако тут меня ожидал сюрприз...Передо мной на моем мониторе возникла ошибка 500 Internal Server Error(500 Внутренняя ошибка Сервера) вместо ожидаемого результата...

Ну все,где-то накосячил - подумал я!И начал рыскать в интернете в поисках правды.Что же это за ошибка 500?

Что такое ошибка 500 Internal Server Error?

Все ответы,которые в первую очередь попадались на глаза в поисковых выдачах были связаны с ошибками в скриптах  Perl или прочих скриптах,которые должен был обработать сервер.Но не мог по причине косячности оных.В итоге если такие скрипты не отвечают более минуты,то сервер их убивает и выдает ошибку 500.

Да,пожалуй,это одна из возможных причин возникновения ошибки 500.Есть и другие случаи,когда возникает такая ошибка.Но по видимому у меня попался не тот случай.Ибо я знал,что все скрипты в Wordpress заведомо рабочие,так как работали на другом хостинге,а значит причина крылась в другом.

Так вот решение своей проблемы я нашел лишь на пятой странице Яндекса.
Оказалось,что данная ошибка чаще всего возникает,когда сервер блокирует запрос к скрипту, а это может быть по следующим причинам:

Права,выставленные на файлы на вашем хостинге отличны от  644 или 444 и в итоге сервер блокирует выполнение скрипта в целях безопасности (например - выставили CHMOD 666 или 777)
На папки выставлены права отличающиеся от 755. (например - выставили CHMOD 777)
Найдены не поддерживаемые директивы в файле .htaccess

Поэтому в первую очередь стоит проверить права доступа.И выставить права на файлы 644, а на папки 755

Собственно именно эта проблема у меня и была.Файлы имели положенные права доступа 644,а вот папки имели права доступа 777,соответственно сервер блокировал запросы скриптов.Хорошо что в FTP - менеджере Filezilla есть возможность смены прав доступа только к папкам исключая файлы.С его помощью я благополучно их и сменил.После чего мой сайт стал работать как и прежде:)

Помимо ошибки с выставлением прав.Есть еще один ньюанс.Дело в том,что большинство серверов хостеров работают в режиме suPHP и в этом случае не поддерживаются директивы php_flag, php_admin_flag, php_value и прочие,
которые изменяют какие-либо параметры PHP окружения.

Это отзначает что  в файле .htaccess не должно быть параметров (эти параметры нужно закомментировать или просто удалить):

1. php_value
2. php_flag
3. php_admin_flag

Закомментировать параметр в .htaccess можно добавив в начало строки знак #

К примеру параметры:

php_flag register_globals On

Закомментированные они будут выглядеть так:

# php_flag register_globals On

Если это не помогло и вы все сделали как написано, обращайтесь в тех поддержку хостера.

А если вам необходимо register_globals или другие параметры, которые закоментируете, то их следует описать в файле php.ini без php_flag, php_admin_flag, php_value, а просто register_globals = On