301 редирект на другую страницу. Функция, убирающая конечный слеш из url. Редирект с помощью скриптов

Ошибка 500 (Internal Server Error) - внутренняя ошибка сервера - 4.2 out of 5 based on 9 votes

500 (Internal Server Error) - внутренняя ошибка сервера - код статуса протокола HTTP означающий, что в конфигурации сервера возникла определенная ошибка или один из его компонентов сообщил об отказе. Ошибку можно увидеть на сайтах построенных на самых разных CMS.

Часто такая ошибка возникает в таких CMS как WordPress, Joomla, Битрикс, OpenCart и других. Поэтому мы рассмотрим самые распространенные причины возникновения данной ошибки и способы ее устранения.

Что означает ошибка 500

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

Вообще причин возникновения ошибки 500 может быть огромное множество, рассмотрим те которые встречаются чаще всего.

Стандартная страница ошибки выглядит так:

По каким причинам может показываться данная ошибка и как ее исправить

1. Неправильные права доступа на папки и файлы. Если на PHP файлы скриптов размещенных на вашем хостинге стоят права доступа 777, то исполнение данных скриптов может быть заблокировано сервером и вам будет показана ошибка 500. Происходит это из-за того, что права доступа 777 позволяют всем производить любые изменения с данным файлом, что существенно влияет на безопасность и целостность вашего сайта.

Решение: Проверьте права доступа на папки и файлы сайта. Для папок рекомендованы права доступа 755, для исполняемых скриптов 600, а для всех остальных файлов 644.

2. Очень долгая работа скрипта. На хостингах, кроме PHP ограничений времени на исполнение скрипта, имеется и ограничение со стороны сервера. Поэтому если сервер не получает ответ в течении определенного количества времени, установленного в его конфигурации, работа скрипта принудительно завершается и мы видим сообщение об ошибке 500.

Решение: Попытаться оптимизировать работу скрипта. Можно так же увеличить время ожидания сервера, но только если у вас VPS или выделенный сервер, на виртуальном хостинге это врат ли удастся сделать.

3. В файле.htaccess содержаться не правильные или не поддерживаемые сервером директивы. Файл.htaccess имеет очень строгий синтаксис и если вы производя определенные настройки допустили какие то ошибки то вам также будет показана ошибка 500 Internal Server Error.

Решение: Посмотрите имеется ли в корневой папке сайта файл.htaccess. Если он там есть сделайте его резервную копию и попробуйте вовсе удалить. Если после этого сайт заработал значит причина в нем.

Еще можно посмотреть сведения об ошибках в файле куда записываются все ошибки сервера, это файл error.log. В случае указания неверной директивы в файле.htaccess в файле error.log вы найдете примерно такие строки:

/home/UXXXXX/vash-sait.ru/www/.htaccess: Invalid command "RewritRule", perhaps mis-spelled or defined by a module not included in the server configuration

4. Для своей работы скрипт хочет получить слишком большое количество памяти. Данная причина может быть на виртуальном хостинге, где кроме лимита памяти установленного в PHP отслеживается общее количество памяти потребляемое скриптами. Если данное потребление слишком велико, т. е. больше чем отведено по вашему тарифному плану, то работа скрипта завершается и выдается сообщение об 500 - й ошибке. Сделано это для предотвращения чрезмерной нагрузки на сервер со тороны каждого аккаунта виртуального хостинга.

Пользуетесь FileZilla или другим подобным FTP менеджером? Тогда ошибка «HTTP ERROR 500 » может возникнуть по простой банальной причине. Нет, дело совсем не в том, что плохой FTP менеджер, можно просто сказать, что это небольшой баг, хотя багом его назвать сложно.

Такая ошибка (не всегда) может возникнуть, когда вы редактируете файлы напрямую через ту же FileZilla, правой кнопкой мыши – просмотр и правка . FTP менеджер каким то образом при правке файла изменяет права на файлы, к примеру на 777 . Хостинг или сервер в свою очередь, запрещает доступ к сайту, чтобы злоумышленник не мог нанести вред сайту, потому что с такими правами можно извне внедрить какой-нибудь скрипт на стороне сервера.

Решение проблемы довольно простое – вспомнить какой файл последний раз редактировали , это может быть файл вашей темы, header, например, посмотрите какие права у данного файла, должны стоять 644 . Даже если стоит такие атрибуты, все равно лучше попробуйте заменить данный файл на другой. Мне это помогло, заменил всего один header.php.

Права доступа на файлы и папки

Права доступа на файлы и папки должны быть такими:

  • Для папок – 755;
  • Для файлов – 644;
  • Для исполняемых скриптов – 600.

Как изменить права доступа на файлы и папки

Изменить права доступа на файлы и папки можно несколькими путями:

  1. Через FTP менеджером FileZilla, правой клик мыши – «права доступа к файлу»;
  2. Скачать файл на ПК и через Total Commander сменить права доступа, затем обратно закачать файл на хостинг;
  3. В большинстве хостингов можно редактировать права доступа, необходимо просто найти данный значок на панели управления и выделить файл к которому необходимо изменить права доступа.

Другие причины 500-той ошибки

  • Удалите файл «. htaccess », затем посмотрите исчезла ли ошибка «500». Возможно в этом файле содержатся директивы непонятные вашему серверу;
  • Долгая или бесконечная работа скрипта, из-за чего хостинг принудительно завершает работу и выводит на экран данную ошибку. На сервере по умолчанию установлен лимит на время ожидания выполнения скрипта, который можно увеличить при необходимости;
  • Слишком малое отведенное количество виртуальной памяти хостинга для совокупности сразу всех одновременно выполняющихся скриптов. Это второе ограничение и выделяется общее количество памяти не на один определенный PHP файл, а на все сразу.

Альтернативное решение проблем: На любом хостинге вы можете посмотреть лог ошибок, например, обычно он содержится в файле — error.log . Если в нём не разбираетесь, в решении проблем может помочь служба поддержки хостинга и направит вас в нужную сторону для решения ошибки «HTTP ERROR 500». Как видите, вам не обязательно разбираться в логах если у вас на

Очень часто бывает так, что во время пользования интернетом появляются разные ошибки. Самой распространенной среди них является так называемая "ошибка 500" или "500 Internal Error Server".

Причины возникновения ошибки Internal Error Server

  1. Когда в файлах.htaccess используются недопустимые конструкции, которые не могут работать на том или ином хостинге. Очень часто такая ошибка может появляться в том случае, если вы будете использовать инструкции от Russian Apache.
  2. Если скрипт работает слишком много времени. На время работы скрипта действуют и ограничения веб-сервера. К примеру, если веб-сервер не получил ответ от скрипта в течении одной минуты, тогда сервер будет считать, что скрипт "завис" и принудительно закончит его работу.
  3. Если скрипт хочет получить намного большее количество памяти, чем это возможно по данному тарифу. В случае если скрипт нуждается в большей памяти, веб-сервер также принудительно закроет его.
  4. Если расширения PHP, которые включены в панель управления, не совместимы друг с другом.
  5. Кроме того, ошибка 500 возникает в том случае, если веб-сервер не может интерпретировать или распознать HTTP-заголовки.

Почему еще может возникать ошибка 500 и как ее исправить?

Безусловно, чаще всего ошибка 500 Internal Error Server (YouTube и другие сайты) появляется если был введен неверный синтаксис.htaccess файла или если в этом файле появились неподдерживаемые директивы. В таком случае, чтобы исправить такую ошибку и привести все в норму, необходимо всего лишь провести комментирование так называемой директивы "Options". Чтобы сделать это, просто поставьте в "решетку" (#) в начале строки - ваша проблема просто исчезнет и ошибка 500 появляться на сервере больше не будет.

Но бывает и так, что 500 Internal Error Server (youtube и другие сайты) появляется по другой причине. Это может быть, главным образом, если неправильно обращаться к скриптам CGI, хотя такое бывает крайне редко. Очень важно помнить, что в своем окончании строки должны иметь записи в формате не Windows, а UNIX, который больше подходит для правильного интерпретирования веб-сервером. Для того чтобы не получилось ошибки, необходимо скрипты CGI загружать на свой сервер по FTP в ASCII режиме. Также часто бывает, что в ответе работы CGI-скрипта формируются неправильные HTTP-заголовки. Если такое случилось, то решить такую проблему можно очень легко, просто обратитесь к error-log.

Ошибка 500 и "YouTube"

В последнее время сайт "YouTube" обновляется и меняется настолько часто, что большинство его пользователей, вместо того чтобы проводить приятные минуты здесь, все чаще видят при входе на сайт так называемую ошибку 500. Многие популярные сайты перестают работать и получают 500 Internal Error Server (YouTube не является исключением из правил). Так что же делать в таком случае? Ведь хочется просто наслаждаться сайтом, а не наталкиваться на проблемы. "500 Internal Server Error Ютуб" можно решить таким образом: попробуйте почистить куки и ваша проблема, скорее всего, решится сама по себе. Если это не поможет, тогда нужно просто набраться терпения и ждать, когда работники сайта решат свои проблемы сами.

Многие говорят, что ошибка 500 Internal Error Server YouTube появляется из-за крашей, но это не совсем так. В последнее время ничего такого на таких солидных сайтах, как этот, замечено не было. Конечно, любое изменение может привести к неприятным последствиям, но они, как правило, быстро решаемы.

Достаточно часто владельцы хостингов мучаются из-за постоянного возникновения сообщения об (Internal Server Error). Она, как это называется, многим попросту отравляет жизнь. Сейчас мы попробуем кратко разобраться в сути самой ситуации и посмотрим, как же можно избавиться от появления ошибки в будущем.

Ошибка Internal Server Error: что это?

Итак, начнем, пожалуй, с самого значения этого словосочетания. В системе (каталоге) ошибок Windows (и не только) есть ошибка под номером 500, отвечающая Internal Server Error. Перевод этого словосочетания означает внутреннюю ошибку сервера, связанную со статусом

По сути, ошибка означает, что программное обеспечение сервера либо не работает, либо работает, но один или несколько его компонентов дают сбои в виде отказа на клиентские запросы, например, поисковой системы или интернет-браузера.

Причины возникновения ошибки

Говоря об ошибке Internal Server Error в самом широком понимании, стоит учитывать, что возникать она может на множестве сайтов или ресурсов, написанных с помощью совершенно разных CMS. Тут, кстати, нужно разграничить причины ее возникновения.

Очень часто такая ситуация может наблюдаться на сайтах типа WordPress, OpenCart, Joomla и др. Если же структуры управления, подобные WordPress, при построении сайта не используются, возможно, причина кроется в том, что на самом хостинге возникают сбои при подключении неправильных PHP-расширений, или сайт после запроса возвращает некорректные HTTP-заголовки, которые не могут быть распознаны вашим сервером.

Не менее распространенной причиной возникновения ошибки Internal Server Error можно назвать отсутствие корректных прав доступа. Так, например, если на PHP файлы скриптов, которые размещены на хостинге, имеют права доступа 777, очень может быть, что их исполнение попросту блокируется сервером, вследствие чего и выдается сообщение об ошибке.

Также одной из причин может быть достаточно долгая работа скриптов. Дело в том, что PHP-ограничения по времени исполнения действуют не только в отношении хостинга, подобные лимиты могут выставляться и со стороны сервера. Иными словами, это несколько напоминает тайм-аут операции. Когда сервер в течение определенного времени не получает ответа на запрос, он попросту блокирует исполнение скрипта.

В некоторых случаях ошибка Internal Server Error может появляться, когда на хостинге наблюдается превышение лимита используемой памяти. Попросту говоря, скрипт для исполнения требует больше положенного, а ведь такой лимит устанавливается не только на PHP, зачастую действуют ограничения по потреблению ресурсов всеми исполняемыми скриптами.

Наконец, одна из самых распространенных ситуаций возникновения ошибки Internal Server Error - это содержание некорректных директив в файле.htaccess (кстати, при работе с движком WordPress это проявляется наиболее часто). Вот теперь мы вплотную подошли к поиску решения для каждой конкретной ситуации.

Ошибка Internal Server Error: как исправить простейшими способами

Для начала посмотрим, что можно сделать при обнаружении неправильных прав доступа. В данном случае позволяют редактировать содержимое абсолютно всем, что, несомненно, сказывается на безопасности. В такой ситуации необходимо их изменить, применив к папкам значение 755, к файлам скриптов - 600, а ко всем стальным файлам данных - 644.

При слишком долгой работе исполняемого скрипта можно попробовать увеличить время ожидания, правда, тут есть одна загвоздка. Такое решение может сработать на выделенном сервере или VPS (Virtual Private Server), а в случае никакого эффекта не будет.

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

Теперь несколько слов о файле.htaccess. Дело в том, что он предполагает использование очень строгого синтаксиса, если при проведении настроек были допущены ошибки или некоторые неточности, избежать появления ошибки Internal Server Error не удастся. Тут нужно поступить следующим образом. Для начала нужно проверить наличие самого файла в корневой директории сайта, после чего, сделав его резервную копию, удалить целиком и полностью. Если после такой процедуры сайт снова станет работоспособным, значит проблема именно в файле.htaccess, который придется проверить на наличие ошибок в синтаксисе.

Проблемы с движком WordPress

С WordPress дело обстоит хуже. Дело в том, что этот движок способен перезаписывать оригинальный файл.htaccess, отвечающий за управление доступом к файлам и папкам хостинга, а ведь оригинальный файл должен создаваться всего один раз, и тем более не в WordPress!

Самым простым способом исправления такой ситуации является отключение темы WordPress и использование вместо нее любой другой. Если ошибка исчезла, дело именно в самой теме, если нет - нужно поэтапно отключать плагины WordPress и проверять, какой из них влияет на работоспособность.

В некоторых случаях может потребоваться обновить WordPress до последней версии и отключить функцию перезаписи файла. Для начала скачиваем на компьютерный терминал оригинальный файл.htaccess, затем входим на сайте в папку по пути /wp-admin/includes/ с последующей загрузкой файла misc.php, который необходимо открыть, скажем, в стандартном «Блокноте» (или любом другом текстовом редакторе) и найти строку функции «function save_mod_rewrite_rules». Теперь в самой функции переходим к строке «return insert_with_markers($htaccess_file, "WordPress", $rules);» и заменяем ее на «return true;» (естественно, все команды прописываются без кавычек). Остается только сохранить изменения и загрузить новый файл на хостинг с заменой старого файла misc.php.

Недостатком такого метода является только то, что в данном случае отключается обновление WordPress. При подключении плагинов они работать, естественно, не будут.

Заключение

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

В статье я опишу, что это за ошибка 500 Internal Server Error и как её исправить. После того, как я столкнулся с ней я понял, что это внутренняя ошибка сервера, которая может появляться по причине целого ряда неполадок на сайте. Появляющееся окно может быть разным по форме и описанию, это зависит от сервера, однако суть остается одной для всех. Если вы столкнулись с ошибкой 500 попробуйте зайти через некоторое время, возможно проблему уже решают. Если проблема остается длительное время, значит необходимо действовать самому.

Что это за проблема 500 Internal Server Error в WordPress?

Данная ошибка – это не сбои в CMS, а появляется 500 Internal Server Error обычно в процессе неправильной работы скриптов на сервере. Обычно, текст ошибки ничего конкретного нам не говорит, мы лишь знаем, что неполадки происходят на стороне сервера. Понятно, что эта ошибка может возникать в WordPress из-за шаблона или функции плагина.

Проверка целостности файла.htaccess в WordPress

Чтобы выполнить проверку, необходимо файл.htaccess переименовать, например, в.htaccess_fix. Для этого вы должны будете зайти на ваш сайт с помощью FTP. После этого найдите этот файл в корне сайта, он будет возле директорий wp-admin, wp-content.

Когда вы выполнили переименование, снова попробуйте загрузить сайт, чтобы убедиться, что ошибка исчезла. Теперь убедитесь, что вы сохранили изменения в пункте «Постоянные ссылки», это позволит сгенерировать новый.htaccess файл с корректными правилами перезаписи ссылок.


Файл.htaccess

Увеличиваем память PHP

Ошибка 500 Internal Server Error может возникать по причине переполненной памяти PHP, которая выделяется для пользователя. Для этого следуйте несложным пунктам:

  1. Создайте новый тестовый документ с названием php.ini.
  2. Напишите в нем код – memory=64MB.
  3. Сохраните его.
  4. «Залейте» его в папку /wp-admin/, по ФТП.

Проблема, связанная с ошибкой 500 Internal Server Error, кроется в плагинах WordPress

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


Окно с настройкой плагинов

При входе в админ-панель Joomla появляется ошибка 500 Internal Server Error

Эту ошибку пользователи CMS Joomla могут наблюдать после того, как ввели логин и пароль при входе, но при этом сайт работает для пользователей. К сожалению, ошибка Internal Server Error с кодом 500 не указывает на причины ее появления, поэтому придется искать ее самостоятельно.

Найти причину можно с помощью журнала ошибок, который хранится на сервере. Открыв файл «error.php», который находится в директории «logs», можно обнаружить нарушения в работе модулей, которые здесь сохранились.

Еще одной причиной может быть невозможность делать запись в каталогах «tmp» и «logs». Возможно, нужно будет установить права в настройках для этих каталогов. Проверьте правильность путей к этим каталогам «tmp» и «logs» в файле, который отвечает за их конфигурацию – «configuration.php». Рекомендуется указать верные пути для них вручную.

Если проблема не иссякла, проверьте правильность файла «htaccess» и произведите те же действия для него, что и с подобным файлом для системы управления сайтом WordPress. В этом файле могут быть опечатки либо лишняя информация, которая вызывает ошибку. При работе с файлом «htaccess» можно не удалять сомнительные строки, а закомментировать их и проверять, изменяется ли после этого работа сайта. Также произведите отключение всех плагинов, чтобы убедиться в том, что причина не в них.

Другие причины появления ошибки 500 Internal Server Error


Ошибка Internal Server Error

Ошибка 500 может появляться из-за конфликтов в работе с CGI-скриптами. Для этого существует 3 правила, которые могут быть не соблюдены:

  • Каждая строка должна заканчиваться в формате UNIX (n), но не Windows (rn). Чтобы выдержать это правило, необходимо загрузку производить по протоколу FTP, с режимом ASCll.
  • В процессе работы CGI-скрипта могут появляться HTTP-заголовки с неверными ответами. Нужно пересмотреть содержимое системного файла «error log» на наличие ошибок.
  • Цифровое значение для скриптов CGI, файлов и папок должно быть установлено в 0755. Эта запись дает право совершать настройки исключительно владельцу сайта, что является дополнительной мерой безопасности.

Причина ошибки 500 – неверно настроены права доступа

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

Для того, чтобы избежать различных ошибок (500 Internal Server Error) и обеспечить дополнительную безопасность – управлять глобальными настройками должен один человек – администратор. Не давайте кому-либо прав доступа к корневым папкам.




Top