ФорумПрограммированиеPHP для идиотов → htaccess и 500 ошибка

htaccess и 500 ошибка

  • Jane

    Сообщения: 363 Репутация: N Группа: Адекваты

    Spritz 17 ноября 2008 г. 3:01

    Извините, если ошиблась разделом, перенесите тогда тему более подходящее место, а то я так и не придумала, куда её лучше отнести :)

    Собственно ситуация такая: в те моменты, когда произвожу обновление файлов на сервере, случайному пользователю может высветиться сообщение о ошибке, что вот типа такой-то файлик, по такому-то адресу сейчас отсутствует… ну и т.п. Вот я и озаботилась тем, чтобы это дело просто напросто отключить (и может даже каким текстом заменять - задача максимум). Самое логичное, что пришло в голову, это вписать в htaccess  что-то умное для отключения вывода ошибок.
    Помучав поиск и некоторые сайты по данной тематике нашла вот такие варианты решения поставленной задачи:
    php_value error_reporting 0
    php_flag display_errors 0
    php_flag error_reporting 0
    php_flag display_errors Off


    Протестировала на локальном сервере - всё замечательно работает, и при отсутствии файлов показывает пока пустую страницу - задача минимум решена вроде как.. А вот не всё так просто оказалось.. На хостинге ни одна из этих строк не выдаёт желаемого результата.
    Вернее сказать выдаёт вместо сайта сообщение об ошибке:
    Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.


    Поиск по инету пользы не дал, выдав, что ошибка возникает при неверном синтаксисе .htaccess, при неверном формате самого файла, либо это запрещено в настройках хостинга. На счёт синтаксиса и формата отбрасываю сразу, на локальном сервере проблем не наблюдается. А вот на хостинге я не знаю настроек Apachа. И вряд ли ради меня они там будут что-то менять, если я даже попрошу :)

    Может кто подскажет что дельное по моей проблемке? А то пока ничего путного не находится.

    Offtop: У вас тут что-то с предварительным просмотром при создании темы весёлое происходит =))  может проверите, что где слетело? (раньше показывало нормально)
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 17 ноября 2008 г. 3:12, спустя 10 минут 47 секунд

    либо это запрещено в настройках хостинга

    скорее всего это

    И вряд ли ради меня они там будут что-то менять

    напиши им письмо узнаешь

    PS попробуй почитать http://httpd.apache.org/docs/1.3/mod/core.html#errordocument
  • Jane

    Сообщения: 363 Репутация: N Группа: Адекваты

    Spritz 17 ноября 2008 г. 3:27, спустя 15 минут 8 секунд


    И вряд ли ради меня они там будут что-то менять

    напиши им письмо узнаешь

    PS попробуй почитать http://httpd.apache.org/docs/1.3/mod/core.html#errordocument

    На счёт написать письмо (или даже позвонить), мне кажется маловероятным, что ради меня одной они будут что-то менять в конфигурации хостинга, поэтому хочется попробовать это дело обойти как-нибудь, если такое вообще возможно на практике.

    Почитать попробовала :) далось с трудом ввиду очень низкого уровня владения английским. Ничего принципиально нового там заметить пока не удалось.

    По своей проблеме видела ещё как-то вариант решения при помощи php-кода, но тут всё равно будет загвоздка: код надо впихнуть так, чтобы при замене любых файлов на сервере он всегда срабатывалЮ что довольно затруднительно, в виду общей структуры сайта.
  • megabit

    Сообщения: 367 Репутация: N Группа: Кто попало

    Spritz 17 ноября 2008 г. 3:46, спустя 18 минут 52 секунды

    .htaccess

    ErrorDocument 505 505.html
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 17 ноября 2008 г. 3:54, спустя 8 минут 32 секунды

    Jane, еще раз глянь ссылку там описан еррор хендлинг средствами апача
  • Jane

    Сообщения: 363 Репутация: N Группа: Адекваты

    Spritz 17 ноября 2008 г. 3:56, спустя 1 минуту 24 секунды


    .htaccess

    ErrorDocument 505 505.html


    Это не выход, при использовании директив для сокрытия ошибок - весь сайт становится одной большой 505й ошибкой… которую и хочется обойти.
  • Jane

    Сообщения: 363 Репутация: N Группа: Адекваты

    Spritz 17 ноября 2008 г. 4:03, спустя 6 минут 57 секунд


    Jane, еще раз глянь ссылку там описан еррор хендлинг средствами апача

    Смотрю, хотя лучше бы на русском, в английском тексте я хуже и дольше ориентируюсь. Пока правда не вынесла для себя ничего полезного, хотя может просто не везде поняла смысл. Но только к апачу на хостинге доступа у меня ведь нету, и мне бы своими средствами как-нибудь :) (Или я не совсем поняла смысл фразы про средства апача)) - тогда прошу ничем тяжёлым не кидаться)
  • megabit

    Сообщения: 367 Репутация: N Группа: Кто попало

    Spritz 17 ноября 2008 г. 4:18, спустя 14 минут 50 секунд

    cлучайному пользователю может высветиться сообщение о ошибке, что вот типа такой-то файлик, по такому-то адресу сейчас отсутствует… ну и т.п. Вот я и озаботилась тем, чтобы это дело просто напросто отключить (и может даже каким текстом заменять - задача максимум)

    Messages in this context begin with a single double-quote character ("), which does not form part of the message itself. Apache will sometimes offer additional information regarding the problem/error.

    URLs can begin with a slash (/) for local URLs, or be a full URL which the client can resolve. Examples:

    ErrorDocument 500 http://foo.example.com/cgi-bin/tester
    ErrorDocument 404 /cgi-bin/bad_urls.pl
    ErrorDocument 401 /subscription_info.html
    ErrorDocument 403 "Sorry can't allow you access today


  • Jane

    Сообщения: 363 Репутация: N Группа: Адекваты

    Spritz 17 ноября 2008 г. 4:21, спустя 2 минуты 57 секунд

    megabit, там стоит и так ErrorDocument 500 http://.. (и т.д.=))
    погоды это не делает и  не срабатывает

    нужно какое-то ещё решение, пока продолжаю мучать поисковики (увы без особого результата)
  • megabit

    Сообщения: 367 Репутация: N Группа: Кто попало

    Spritz 17 ноября 2008 г. 4:26, спустя 5 минут 25 секунд

    там это где? :-)
    500 Internal Server Error
    При обработке запроса на сервере один из его компонентов (например, CGI-программа) выдал аварийный отказ или столкнулся с ошибкой конфигурации.
    505 HTTP Version not supported
    Сервер не поддерживает версию протокола HTTP, использованную в запросе.

    404 Not Found
    Документ по указанному URI не существует.
  • Jane

    Сообщения: 363 Репутация: N Группа: Адекваты

    Spritz 17 ноября 2008 г. 4:34, спустя 8 минут 15 секунд

    megabit, там - это в файле .htaccess
    в смысле страницы ошибок у меня там давно прописаны и по крайней мере 404 срабатывает как положено
    а вот 500 раньше не возникала и проверить её работу не было возможности.
    сейчас попробовала по-разному делать эту страницу, даже тупо средствами cPanel на хостинге - не помогает, при попытке отключить вывод php-ошибок - я любуюсь на текст, процитированный в первом посте

    может нужно что-то ещё где-то добавить? пока копалась со своей проблемой наткнулась на упоминание об обработчиках апача, только ещё не поняла, насколько это близко или далеко от искомого )
  • Jane

    Сообщения: 363 Репутация: N Группа: Адекваты

    Spritz 17 ноября 2008 г. 4:52, спустя 17 минут 28 секунд

    Так, уже кое-что…. покопалась на сайте хостера, нашла такой пунктик:

    На моем сайте 500 Internal Server Error, что делать?
    Причин появления ошибки может быть несколько, вот лишь основные из них:

    2. Не корректные записи в файле .htaccess
    Поскольку в нашей компании для обработки PHP не используется mod_php, все настройки связанные с PHP следует заносить в отдельный файл php.ini, любые директивы не относящиеся к веб-серверу Apache будут так же вызывать 500-ю ошибку. Кроме того причиной 500-й ошибки могут быть и не поддерживаемые записи, например неверное указание названия хэндлера и т.п.


    только пока не поняла, как это применить в моём случае… судя по всему нужно что-то сперва вписать в php.ini? (понять бы ещё что)
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 17 ноября 2008 г. 4:59, спустя 7 минут 29 секунд

    похоже 500 ошибку поймать нельзя таким образом
  • Jane

    Сообщения: 363 Репутация: N Группа: Адекваты

    Spritz 17 ноября 2008 г. 5:05, спустя 5 минут 52 секунды

    Ну как-то ведь можно наверняка отключить вывод ошибок без болезненных симптомов для сайта =)
    Интуиция подсказывает, что надо где-то в нужном месте (понять бы ещё где оно))) создать файлик php.ini (сейчас я такого не наблюдаю среди доступных мне файлов)… и главное вписать туда что-то, что не будет так реагировать на директивы в .htaccess
    Только пока для меня слишком много неясного и непонятно, типа как и где это сделать :)
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 17 ноября 2008 г. 5:18, спустя 12 минут 58 секунд

    php_value error_reporting 0
    php_flag display_errors 0
    php_flag error_reporting 0
    php_flag display_errors Off

    Насколько я знаю, это работает, только если PHP установлен как модуль Apache.
    Если не работает, значет там cgi-версия, для нее есть свои методы — подмена php.ini.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!