Параметры php_value, php_flag и ошибка 500 | Хост.SU
При запуске некоторых CMS и скриптов на части хостингов или своем VDS (сервере) на месте сайта может появиться ошибка 500 Internal Server Error. В этой статье мы разберем самую частую причину этой ошибки — параметры php_value и php_flag, указанные в файле .htaccess.
Причина ошибки 500 от php_value, php_flag
Основной причиной появления ошибки 500 на месте сайта при использовании параметров php_value и php_flag в файле .htaccess является отсутствие модуля PHP в загруженных модулях Apache.
Также к ошибке может привести неверный синтаксис данного параметра, например, если Вы указали синтаксис от php.ini — «memory_limit=64M» (php_value memory_limit=64M).
Ошибку могут вызвать и параметры php_admin_value и php_admin_flag, которые нельзя использовать в файле .htaccess.
Исправление ошибки 500 от php_value, php_flag
В том случае, если ошибку Internal Server Error вызвало отсутствие модуля mod_php, есть два варианта решения проблемы: установка данного модуля или удаление параметров php_value, php_flag из . htaccess.
Подробней об установке модуля mod_php
Если Вы используете контейнер, VDS или Dedicated сервер, то для решения проблемы Вы можете просто установить модуль PHP на веб-сервер Apache, что несколько сложнее, чем удалить параметры из .htaccess.
При использовании виртуального хостинга модуль PHP не получится установить, поэтому здесь сразу нужно переходить ко второму варианту решения проблемы…
Об удалении параметров php_value, php_flag
Удалить параметры из файла .htaccess можно тремя способами:
Добавить параметр Ifmodule в файл .htaccess. Данный способ позволит веб-серверу Apache игнорировать настройки php_value и php_flag. Синтаксис в .htaccess в этом случае будет выглядеть следующим образом:
<Ifmodule mod_php5.c>
php_value параметр_1 ХXX
php_value параметр_2 ХXX
</Ifmodule>
Также стоит добавить еще одну секцию для PHP 7:
<Ifmodule mod_php7.
php_value параметр_1 ХXX
php_value параметр_2 ХXX
</Ifmodule>
Это позволит автоматически активировать эти параметры при смене конфигурации VDS, выделенного сервера или переезде на другой хостинг в том случае, если там будет установлен как PHP 5, так и PHP 7 в качестве модуля Apache.
Закомментировать php_value, php_flag в .htaccess. Для комментирования данных параметров в файле .htaccess используется символ «#», который указывается в начале каждой строки.
Если было указано:
php_value параметр_1 ХXX
php_value параметр_2 ХXX
То указываем:
#php_value параметр_1 ХXX
#php_value параметр_2 ХXX
Просто убрать php_value, php_flag из .htaccess. Вы можете просто стереть все строки php_value и php_flag из .htaccess.
Обращаем Ваше внимание, что мы рекомендуем использовать только первые два способа удаления параметров из . htaccess, что позволяет сохранить параметры в файле и избежать их утери, так как эти параметры понадобятся для дальнейшего использования.
О синтаксисе параметров php_value, php_flag
Также для исправления ошибки 500 Internal Server Error мы рекомендуем проверить синтаксис параметров, который должен иметь вид:
php_value параметр_1 ХXX
php_flag параметр_2 ХXX
При указании синтаксиса для php.ini:
php_value параметр_1=ХXX
php_value параметр_1=ХXX
веб-сервер Apache выдаст ошибку.
php_admin_value и php_admin_flag в .htaccess
Параметры php_admin_value и php_admin_flag нельзя использовать в файле .htaccess, поэтому исправить ошибку 500 можно только удалением этих параметров.
Ошибка 500 “Internal Server Error”
Официальный сертифицированный
хостинг для продуктов 1С Битрикс
Тематика страницы
СайтСправка
битрикс хостинг запуск сайта
25. 03.2020
Возникает, когда не получается запустить скрипт, размещенный вами на сервере. Также причиной могут быть ошибки в скрипте или загрузка неправильной инструкции в файле .htaccess. Причин может быть и больше. Но три приведенных самые распространенные.
- Некорректная инструкция в файле .htaccess. Если ошибка была допущена в названии необходимой директивы или ее параметрах, то в файле error.log будет где-то такой формат ошибки: [Wed Apr 14 17:01:38 2004] [alert] [client 217.16.16.16] /home/uXXXXX/aaa.ru/www/.htaccess:Invalid command ‘DrectoryIndex’, perhaps mis-spelled or defined bya module not included in the server configuration. С определением главной ошибки в директиве вам подскажет сам веб-сервер, после чего ее останется только исправить. Здесь веб-сервер указал на то, что он не знаком с директивой DrectoryIndex. Все верно, потому есть DirectoryIndex. То есть здесь допущена опечатка.
- Ошибка 500 может возникать, когда идет обращение к скрипту на языке Perl, который находится в каталоге cgi-bin. Тогда стоит произвести проверку прав доступа к этому скрипту. Права должны быть 755 (rwxrx-rx). Если это не так, изменяются права 755 с помощью команды chmod 755 script.pl в unix shell. Также можно применить FTP. Права на скрипты строго устанавливаются в 755. Поэтому обязательно произведите проверку, тот ли режим передачи файлов по FTP вы задействовали, загружая скрипт на наш сервер.
- Скрипты и любые текстовые файлы нужно передавать по FTP в текстовом режиме (ASCII). Если вы применяли двоичный режим передачи файлов (Binary), скорее всего скрипты не будут работать. Если вы произвели проверку корректности файлов, которые были установлены на файл скрипта, но ошибка осталась, потребуется изучение последних записей в файле error.log. На нем веб-сервер собирает все уведомления об ошибках. Потому вы сможете найти следующую строку: [Fri Apr 9 15:05:31 2004] [error][client 111.111.111.111] Premature end of script headers: /data/uXXXX/aaa.ru/www/site.com/script.php. Получив такую ошибку, нужно посмотреть, корректно ли скрипт выдает HTTP-заголовки. Ведь первым делом каждый скрипт печатает строку, где указан определенный Content-type. После этого всплывает конкретно то, что увидит пользователь (например, HTML-код). Строка для показа заголовка стандартного HTML-документа выглядит так: print «Content-type: text/html; charset=windows-1251\n\n.
Если в скрипте найдены ошибки, они исправляются в рамках соответствующей диагностики. После этого повторно произвести проверку синтаксиса скрипта.
Концепция и все материалы с сайта btrxboost.com включающие в себя текстовую, графическую, видео, аудио и маркетинговую информацию, защищены российским и международным законодательством. В соответствии с соглашением об охране авторских прав и интеллектуальной собственности (ст. №1259, №1260, гл. 70 “Авторское право” ГК РФ от 18.12.2006 № 230-ФЗ) и согласно сертификату собственности авторских прав на информационные материалы RID 07N-4M-48 от 12.08.2012, а также сертификата DMCA id: f25cb914-aba8-4988-a116-13afb399bba2 от 21.06.2019.
В случае нарушений данных правил, применяются следующие меры: подача официального заявления в судебные органы в т. ч. с эскалацией запроса хостинг-провайдеру на котором расположен сайт-нарушитель, а также подача запроса на исключение сайта-нарушителя из поисковых систем согласно “Online Copyright Infringement Liability Limitation Act” по ч. II, раздел 512 к закону об авторском праве по DMCA.
Файл .htaccess выдает 500 внутренних ошибок сервера
Задай вопрос
спросил
Изменено 5 лет, 1 месяц назад
Просмотрено 82к раз
Я получаю внутреннюю ошибку сервера 500 на своем веб-сайте. Я думаю, это из-за файла .htaccess, но я не знаю, что с ним не так.
Сервер: DirectAdmin, на базе Linux
Содержимое файла .htaccess выглядит следующим образом:
# BEGIN All In One WP Security #AIOWPS_BLOCK_WP_FILE_ACCESS_START <файлы license. $ keep_out SetEnvIfNoCase User-Agent (binlar|casper|cmsworldmap|comodo|diavol|dotbot|feedfinder|flicky|ia_archiver|jakarta|kmccrew|nutch|planetwork|purebot|pycurl|skygrid|sucker|turnit|vikspider|zmeu) keep_out <лимит ПОЛУЧИТЬ ОТПРАВКУ> Заказать Разрешить, Запретить Разрешить от всех Запретить из env=keep_out ЕслиМодуль> # 5G:[ЗАПРОСИТЬ СТРОКИ]RedirectMatch 403 (https?|ftp|php)\:// RedirectMatch 403 /(https?|ima|ucp)/ RedirectMatch 403 /(Постоянно|Лучше)$ RedirectMatch 403 (\=\\\'|\=\\%27|/\\\'/?|\)\.css\()$ RedirectMatch 403 (\,|\)\+|/\,/|\{0\}|\(/\(|\.\.\.|\+\+\+|\||\\\"\ \\") RedirectMatch 403 \.(cgi|asp|aspx|cfg|dll|exe|jsp|mdb|sql|ini|rar)$ RedirectMatch 403 /(contac|fpw|install|pingserver|регистрация)\.php$ RedirectMatch 403 (base64|междоменный|локальный|wwwroot|e107\_) RedirectMatch 403 (eval\(|\_vti\_|\(null\)|echo.*kae|config\.xml) RedirectMatch 403 \.хорошо\-известный/хост\-мета RedirectMatch 403 /function\.array\-rand RedirectMatch 403 \)\;\$\(это\)\. (TRACE|TRACK) Правило перезаписи .* - [F] ЕслиМодуль> # 5G:[ПЛОХАЯ IPS] <лимит ПОЛУЧИТЬ ОТПРАВКУ> Заказать Разрешить, Запретить Разрешить от всех # раскомментируйте/отредактируйте/повторите следующую строку, чтобы заблокировать IP-адреса # Запретить от 123.456.789$ Правило перезаписи .* http://127.0.0.1 [L] ЕслиМодуль> #AIOWPS_BLOCK_SPAMBOTS_END # КОНЕЦ Все в одном WP Безопасность # НАЧАТЬ Кэш браузера W3TC Добавление заголовка Vary User-Agent env=!dont-vary ЕслиМодуль> AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image /x-значок приложения/json # DEFLATE по расширению AddOutputFilter DEFLATE js css htm html xml ЕслиМодуль> ЕслиМодуль> # КОНЕЦ кэша браузера W3TC # BEGIN Ядро кэша страниц W3TC RewriteEngine включен Переписать Базу / RewriteCond %{HTTP:Accept-Encoding} gzip Правило перезаписи . index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Правило перезаписи. /index.php [Л] ЕслиМодуль> # ЗАВЕРШИТЬ WordPress
А вот что говорит журнал ошибок Apache:
[Чт, 16 января, 00:19:08 2014] [предупреждение] [клиент 157.55.35.85] /home/sapna/domains/spna.co.ir/public_html/.htaccess : Опция Все здесь не разрешено
Буду признателен, если вы поможете мне выяснить, что вызывает внутреннюю ошибку сервера 500.
Спасибо.
- .htaccess
- внутренняя ошибка сервера
4
Часто 500 Внутренняя ошибка сервера происходит, если вы не можете загрузить модуль mod_rewrite.
Чтобы включить RewriteEngine На вам нужно выполнить следующую команду:
sudo a2enmod rewrite
3
В Local mechine
Создайте папку проекта. (.*)$ index.php?url=$1 [QSA,L]
- Сохранить файл .htaccess.
- Теперь щелкните значок сервера wamp/lamp/xamp, щелкните apache и выберите «rewire_module».
В Cpanel
- Непосредственно вам нужно создать файл .htaccess с приведенным выше кодом и сохранить.
Примечание: — Пожалуйста, не пишите орфографические ошибки в cpanel. Если вы напишите какие-либо орфографические ошибки, это даст вам внутреннюю ошибку сервера (500).
0
Проблема в этой строке из-за вашего cnfig Apache:
Options All -Indexes
измените это на:
Параметры -Индексы
3
Я столкнулся с той же проблемой, вот решение для ubuntu и apache Это произошло из-за того, что модуль mod_rewrite не был включен , сначала включите перезапись модуля:
sudo a2enmod rewrite
И перезапустить apache
sudo systemctl перезапустить apache2
Теперь отредактируйте уровень каталога
sudo vim /etc/apache2/sites-enabled/000-default. conf
добавить эти строки в конец
Разрешить переопределить все Каталог> и снова перезапустите apache.
перезапуск службы sudo apache2
2
Убедитесь, что у вас есть права AllowOverride Options для использования Options
0
Зарегистрируйтесь или войдите в систему
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Обязательно, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
.
htaccess — Решено — 500 Внутренняя ошибка сервера Apache, перенаправление htaccessДа, здесь существует цикл перезаписи для каждого URI, поступающего из поддомена, который не соответствует имени файла или каталогу.
Например, если клиент приходит с 9/mail, не попадает ни в какие внешние правила перенаправления, поэтому не проходит ближе к концу.
- Срабатывает правило all-uri, не привязанное к хосту, по-видимому, файл mail/index.php не существует, поэтому /mail/index.php перезаписывается в /index.php, теперь мы находимся в чередующемся повторе между /index .php и /mail/index.php
/без файла /mail/nofile (не существует) /index.php /mail/index.php (не существует) /index.php /mail/index.php (не существует) ...повторить последние два...
9(.*)$ — [Л]
Это останавливает дальнейшие внутренние перенаправления с этого .htaccess. Но это потребует, чтобы вы поместили внешние правила перенаправления, которые у вас есть, перед внутренними правилами перенаправления.