Htaccess страница для ошибки

Файл htaccess

От автора: в этом уроке мы с вами познакомимся еще с двумя полезными директивами сервера, которые можно использовать в файле htaccess.

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

скачать исходникискачать урок

Иногда на сайте, написанном исключительно на HTML, может возникнуть необходимость вставки кода PHP. Но, как Вы знаете, файлы с расширением html сервер сразу же отдает клиенту и программный код в этих файлах никак не обрабатывается.

Другое дело файлы php. Здесь правильно настроенный сервер ни за что не отдаст просто так такой файл. Прежде всего, сервер отдает этот файл интерпретатору PHP, который, в свою очередь, обрабатывает файл, выполняя программный код в файле. Затем интерпретатор возвращает уже обработанный документ серверу, который отдает его уже клиенту.

Как же нам «заставить» сервер отдавать, к примеру, файлы html интерпретатору для исполнения программного кода? В этом нам как раз и поможет следующая директива:

# выполнение кода PHP в файлах не .php

AddType application/xhttpdphp .html .htm .txt .css

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

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

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

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

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

Указать серверу на собственные страницы ошибок можно с помощью директивы ErrorDocument, после которой мы укажем код ошибки и путь к странице ошибки, которую нужно показать в случае данной ошибки:

# страницы ошибок

#ErrorDocument 403 «Access Denied»

ErrorDocument 403 /htaccess/page403.html

ErrorDocument 404 //localhost/htaccess/page404.html

Здесь, как Вы могли заметить, мы можем использовать как относительный, так и абсолютный путь. Также, как вариант, можно вместо страницы показать какой-нибудь текст (хотя в этом мало смысла).

На этом текущий урок завершен. Удачи и до встречи в следующем!

Опубликовано: 4 окт 2011 в 09:28

Автор: Dave Child  Перевод: freeeeez 

Apache позволяет настраивать сервер на уровне каталога используя .htaccess файлы. Это руководство подробно объясняет, как пользоваться ими для обслуживания пользовательской ошибки 404 (страница не найдена) и других общих страниц ошибок.

В Apache вы можете настроить каждый каталог на сервере индивидуально, ограничивая или допуская нужные свойства. Поэтому если вы не имеете прямого доступа к серверу, управлять свойствами сервера можно через .htaccess файлы.

Настройка страницы ошибки 404

.htaccess файл позволяет показывать показывать собственные страницы ошибок, когда пользователь запрашивает страницу, которой не существует. Это намного эффективнее и удобнее, чем стандартные страницы ошибок, которые пользователи видели уже много раз.

Еще один плюс данной настройки заключается в том, что можно установить отправку страницы ошибки (например 404) по электронной почте, что скажет вам о том кто и когда пытался загрузить не существующую страницу, а также позволить исправить неработающие ссылки.

Для начальной настройки файла .htaccess откройте блокнот (а еще лучше редактор с подсветкой синтаксиса, вроде Notepad++ или Taco) и добавьте следующую строку:

ErrorDocument 404 / 404.html

Далее вам нужно сохранить файл. Вы должны сохранить его в виде «.htaccess». Не «.htaccess.txt» или «mysite.htaccess» — а просто «.htaccess».

Теперь вам нужно создать страницу с именем 404.html, содержащую все, что вы хотите донести пользователю, который запрашивает несуществующую страницу. Загрузите оба файла на свой сервер и введите любой выдуманный адрес. Вместо стандартного сообщения об ошибке, вы должны увидеть собственную страницу 404! Если вы этого не видите, то скорее всего ваш сервер не поддерживает .htaccess файлы или данная услуга отключена. Обратитесь к администратору сервера или в службу поддержки. Возможно эти же настройки можно ввести через IIS.

Если же все хорошо, и вы читаете свою страницу 404.html, то вы можете создать другие страницы ошибок, для полного набора сообщений об ошибках сервера. Ведь кроме ошибки 404 есть и другие (401, 500 и др.). Вы также можете написать свои страницы на PHP или ASP, а не только на HTML.

Можно создать множество страниц для всех кодов состояния сервера, чтобы персонализировать любые ошибки. Вы также можете использовать чистый HTML в самом HTACCESS файле:

ErrorDocument 404 "Упс, ошибочка вышла! <b>Страница не найдена</b>. Воспользуйтесь картой сайта или <a href="mailto:owner@site.com">сообщите по электронной почте</a> администратору для получения помощи.

Ремонт ноутбуков Новогиреево

Коды ответов сервера

Кодом ответа сервера явяется трехзначный номер, который он посылает пользователю в ответ на запрос. Они говорят пользователю, является ли запрос корректным и может ли он завершен, а также требует ли сервер дополнительной информации. Как правило эти коды передаются в HTTP-заголовке, поэтому обычные пользователи их не видят. Самые распространенные коды ошибок сервера, это 400, 401, 403, 404 и 500, так что было бы разумно разместить информацию в .htaccess файл по установке собственных страниц ошибок для данных кодов.

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

ErrorDocument 400 / 400.html

ErrorDocument 401 / 401.html

ErrorDocument 403 / 403.html

ErrorDocument 404 / 404.html

ErrorDocument 500 / 500.html
  • Информационные

    • 100 Продолжать.
    • 101 Переключение протоколов.
    • 102 Идёт обработка.
  • Успешно.

    • 200 OK.
    • 201 Создано.
    • 202 Принято.
    • 203 Информация не авторитетна.
    • 204 Нет содержимого.
    • 205 Сбросить содержимое.
    • 206 Частичное содержимое.
    • 207 Многостатусный.
    • 226 IM использовано.
  • Перенаправление.

    • 300 Множество выборов.
    • 301 Перемещено окончательно.
    • 302 Найдено.
    • 303 Смотреть другое.
    • 304 Не изменялось.
    • 305 Использовать прокси.
    • 306 (зарезервировано).
    • 307 Временное перенаправление.
  • Ошибка клиента.

    • 400 Плохой запрос.
    • 401 Неавторизован.
    • 402 Необходима оплата.
    • 403 Запрещено.
    • 404 Не найдено.
    • 405 Метод не поддерживается.
    • 406 Не приемлемо.
    • 407 Необходима аутентификация прокси.
    • 408 Время ожидания истекло.
    • 409 Конфликт.
    • 410 Удалён.
    • 411 Необходима длина.
    • 412 Условие ложно.
    • 413 Размер запроса слишком велик.
    • 414 Запрашиваемый URI слишком длинный.
    • 415 Неподдерживаемый тип данных.
    • 416 Запрашиваемый диапазон не достижим.
    • 417 Ожидаемое не приемлемо.
    • 418 Я — чайник.
    • 422 Необрабатываемый экземпляр.
    • 423 Заблокировано.
    • 424 Невыполненная зависимость.
    • 425 Неупорядоченный набор.
    • 426 Необходимо обновление.
    • 449 Повторить с…
    • 456 Некорректируемая ошибка….
  • Ошибка сервера.

    • 500 Внутренняя ошибка сервера.
    • 501 Не реализовано.
    • 502 Плохой шлюз.
    • 503 Сервис недоступен.
    • 504 Шлюз не отвечает.
    • 505 Версия HTTP не поддерживается.
    • 506 Вариант тоже согласован.
    • 507 Переполнение хранилища.
    • 509 Исчерпана пропускная ширина канала.
    • 510 Нет расширения.

13 322 просмотра

Посетители сайта видят 404 ошибку, если страница, на которую они пытаются перейти, не существует или по какой-то причине сервер не может её найти. В статье рассмотрим, что это за ошибка и какое влияние она оказывает на поведенческие факторы пользователей и SEO. А также разберем, как настроить редирект 404 ошибки через .htaccess.

Что такое ошибка 404

Ошибка 404 (File not found) возникает, когда сервер не может найти запрашиваемую пользователем страницу. От ее появления не застрахован ни один сайт. Достаточно ввести в адресной строке после домена рандомный набор символов. Например:

http://site.ru/asdfjkl;

Сервер не сможет найти страницу, и отобразится ошибка:



редирект 404 1
Ошибка 404 на сайте Рег.ру

Также с ошибкой 404 можно столкнуться в следующих случаях:

  • Администратор сайта удалил или переместил страницу, но не сделал редирект на актуальный материал.
  • Изменилась структура сайта, а у страниц остались старые URL.
  • Посетитель опечатался в адресе, когда вводил его вручную.
  • Посетитель перешел по «битой» ссылке, которая ведет на несуществующую (удаленную или перемещенную) страницу.

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

Код 404 не стоит путать с другими похожими ошибками. Например, 403-й, которая означает, что доступ к ресурсу ограничен или запрещен. Подробнее о том, как ее исправить в статье.

Иногда при загрузке несуществующей страницы браузер получает ответ 200 вместо 404. Такой случай называют Ложной ошибкой (Soft 404). Он означает, что со страницей всё в порядке, хотя пользователь видит ошибку. Также проблема заключается в том, что Яндекс и Google показывают эту страницу в результатах поиска. Чтобы проверить код ошибки, воспользуйтесь проверкой URL от Google.

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

Возможные последствия для сайта

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

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

Если на сайте регулярно встречается ошибка 404, это может повлиять на поведение посетителей. Пользователи, которые многократно видят сообщение о том, что страница не существует/не найдена, с большой вероятностью покинут сайт и уйдут к конкурентам.

Рекомендации по созданию страницы 404

Если сайт создавался в CMS WordPress, Joomla, Drupal и т. п., в нем, скорее всего, предусмотрена страница ошибки 404. Но она может быть неинформативной или отличаться от дизайна остальных страниц вашего веб-ресурса.

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

Важно, чтобы страница была информативной и полезной:

  • Объясните, что случилось и почему пользователю попалась ошибка;
  • Посоветуйте, что пользователю стоит сделать, чтобы найти интересующий его контент;
  • Оставьте каналы для связи и возможность связаться с поддержкой сайта.

Яндекс рекомендует оформлять страницу ошибки 404 так, чтобы она отличалась от остальных страниц сайта и содержала ссылку на главную страницу, поисковую строку и инструкцию с дальнейшими действиями.

Примеры страниц с ошибкой 404



редирект 404 2
СберМаркет предлагает познать мудрость котов и цены на сайте



редирект 404 3
404 ошибка в разделе «Помощь» на сайте Рег.ру

Как создать страницу ошибки 404 и настроить редирект на нее в .htaccess

  1. 1.

    Создайте страницу одним из следующих способов:

    • Если вы знаете HTML и CSS, напишите код страницы самостоятельно и загрузите файл с названием 404.html в корневую папку сайта.
    • Если навыков верстки нет, в интернете можно найти бесплатные шаблоны со страницами ошибки. Скачайте файл и добавьте его в корневую папку.
    • Если вы используете WordPress, воспользуйтесь плагином 404page — your smart custom 404 error page по инструкции ниже. Обратите внимание! Если вы воспользовались плагином, вам не нужно прописывать путь к файлу в .htaccess.


    Как настроить страницу в плагине WordPress

    1) Откройте админку вашего сайта в WordPress.

    2) Перейдите в раздел «Плагины» и нажмите Добавить новый.

    3) В строке поиска введите название 404page — your smart custom 404 error page.

    4) Нажмите УстановитьАктивировать:



    редирект 404 4

    5) Перейдите в раздел Внешний вид404 Error Page.

    6) Выберите в списке Sample Page, чтобы сменить стандартную страницу ошибки, и нажмите Edit Page:



    редирект 404 5

    7) Создайте страницу в открывшемся визуальном редакторе и нажмите Обновить:



    редирект 404 6

    Готово! После обновления страница будет использоваться автоматически.

  2. 2.

    Откройте конфигурационный файл .htaccess в корневой папке вашего сайта и добавьте в него строку:

    ErrorDocument 404 https://site.ru/404.html

    где site.ru — домен вашего сайта.

  3. 3.

    Сохраните изменения.

Готово! Теперь при возникновении 404 ошибки, в браузере пользователей будет открываться созданная вами кастомная страница.

Также рекомендуется закрыть служебную страницу 404 от индексации, чтобы она не возникала в поисковой выдаче вместе с остальными страницами сайта. Для этого откройте файл robots.txt в корневой папке сайта, добавьте соответствующую команду и сохраните изменения:

Редирект с 404 на главную (не рекомендуется)

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

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

Рекомендуется использовать специальные страницы для ошибки 404.

Проверка редиректа 404

Проверить, корректно ли все настроено можно в Яндекс.Вебмастер и Google Search Console.

Яндекс.Вебмастер

Если вы используете его впервые, укажите домен вашего сайта и пройдите проверку валидации, добавив файл в корневую папку сайта. Это займет несколько минут.

  1. 1.

  2. 2.

    Перейдите в раздел ИнструментыПроверка ответа сервера.

  3. 3.

    Введите название страницы ошибки и нажмите Проверить.

  4. 4.

    В коде статуса HTTP должно отображаться 404 Not Found:



    редирект 404 7

Google Search Console

Если вы используете этот инструмент впервые, укажите свой домен и пройдите валидацию, добавив TXT-запись/загрузив файл в корневую папку сайта или с помощью других способов.

  1. 1.

  2. 2.

    Перейдите в раздел «Покрытие» в меню справа. Здесь будет отображаться информация о страницах ошибок.

На сайте небольшого объема можно самостоятельно следить за наличием ошибок и постараться не допускать того, чтобы на нём было много страниц, утративших актуальность. Своевременно настраивайте 301 редиректы, когда статья в справке, страница или товар теряют актуальность.

Если сайт многораздельный и многостраничный, вручную мониторить его будет сложно. Рекомендуется использовать для поиска страниц ошибки 404 онлайн-сервисы (Serpstat, BadLincs.ru и другие). Также можно воспользоваться плагинами в CMS. Замените ссылки и настройте редиректы. А также создайте понятную красочную страницу ошибки с объяснением причины, ссылками на основные разделы и строкой поиска.

Помогла ли вам статья?

Спасибо за оценку. Рады помочь 😊


 👍

In this article we’ll show you how to set a custom 404 page via a .htaccess file. This will allow you to set the error message that visitors to your site receive when they request a page that doesn’t exist on the server.

If you read our previous article about 404 error not found pages it was discussed that handling 404 errors dynamically can be problematic if done very frequently. If you’re running WordPress on your website, you might want to think about installing the W3 Total Cache plugin which has the ability to serve static 404 errors for WordPress.

It’s typically recommended to handle 404 errors with a custom static HTML 404 error page instead of handling them dynamically. If you don’t already have one you can learn about creating a custom 404 error page, and if you’re looking to add advanced functionality to your 404 error page you can even learn about using Google’s custom 404 page widget.

The easiest way to modify your .htaccess file would be using cPanel’s file manager with the instructions below, although you can also upload a .htaccess file via FTP as well.

Don’t have time to read the article? Watch our walk-through video.

Create or Modify a Custom 404 Page via .htaccess

  1. Login to your cPanel.
  2. Under the Files section click on File Manager.
    Set Custom 404 Page in .htaccess File Manager
  3. Navigate to the document root folder for the site.
  4. Click on Settings.
    File Manager Settings
  5. Ensure Show Hidden Files is selected.
    Show Hidden Files
  6. Then click Save.
  7. Right-click on the .htaccess file and select Edit.

    Edit the .htaccess file

  8. If the .htaccess file didn’t exist in the previous step, click on the +File link on the top left, name the file .htaccess, and set the directory for creation to /public_html/ or the document root of your site.
    Creating an .htaccess file
  9. You might have a text editor encoding dialog box pop-up, go ahead and just click Edit.
    Edit File Encoding Option
  10. Now that you are ready to edit the .htaccess file, the simplest way to set a 404 error page is by directly setting a 404 error message in the .htaccess file itself:
    ErrorDocument 404 "<H1>Page not found</H1>"

    If you already have a static HTML page that you’d like to use for 404 errors you can also directly point to that file with the .htaccess file as well. In this example, we have a 404.html page we want to serve up. Be sure to replace “404.html” with your actual page name:

    ErrorDocument 404 /404.html
  11. After you’ve made your edits to the .htaccess file, click on Save Changes.
    Saving .htaccess file
    You should see a green Success pop-up
    file-manager-text-editor-save-success
  12. Now if you try to pull up a page that won’t exist on the server such as /ThisPageWon’tExist you should see the custom 404 error message that we’ve configured. This first image below is the default 404 error page when a custom one is not set:

    Custom 404 Page

    The second one is the custom 404 page that we just created:

    404-custom-error-in-browser

You should now understand how to control how 404 errors are handled for your website, by either setting the error directly or pointing to a custom 404 error page. If you need help on actually creating your custom 404 error page you would want to review our article on creating a custom 404 error page. Check out our Website section for more helpful tutorials to lead you toward success.

Want more performance and power from your website? InMotion Hosting’s VPS Hosting plans provide hyperfast site speeds on high-performance NVMe servers.

check markDedicated Resources check markNVMe SSD Storage check markHigh-Availability check markIronclad Security check markPremium Support

View VPS Hosting Plans

Содержание:

  • Способы вывода ошибок PHP
  • Виды ошибок в файле .htaccess
  • Как включить вывод ошибок через .htaccess
  • Примеры практического применения
  • Включение журналирования ошибок PHP в .htaccess
  • Дополнительные способы вывода ошибок PHP

Ошибки в коде — неотъемлемая часть любого процесса разработки. Чтобы понять, почему не выполняется скрипт, необходимо вывести error-логи PHP на экран.

Следует помнить, что в публичной версии сайта вывод ошибок на экран должен быть отключён.

  • Через файл .htaccess, отвечающий за дополнительные параметры сервера Apache.
  • Непосредственно через PHP-скрипт.
  • Через файл php.ini, содержащий настройки интерпретатора PHP.

Преимущества вывода ошибок в файле .htaccess

  1. Широкий охват. Параметры распространяются на все элементы дочерних поддиректорий.
  2. Быстрота и удобство. Обработка ошибок настраивается в несколько команд и в одном месте.

Вывод ошибок на экран лучше делать через файл .htaccess, особенно когда PHP-файлов несколько. Поэтому далее разберём этот способ подробнее.

Виды ошибок PHP в файле .htaccess

  • E_ALL — все виды ошибок, кроме E_STRICT до PHP 5.4.0.
  • E_ERROR — фатальные ошибки, прекращающие работу скрипта.
  • E_WARNING — ошибки-предупреждения. Не являются фатальными, поэтому не вызывают прекращение работы скрипта.
  • E_PARSE — ошибки разбора. Могут возникать только во время компиляции.
  • E_NOTICE — уведомления о нарушении времени выполнения скрипта.
  • E_CORE_ERROR — фатальная ошибка обработчика. Генерируется ядром во время запуска PHP-скрипта.
  • E_CORE_WARNING — предупреждения компиляции, возникающие при запуске PHP-скрипта.
  • E_COMPILE_ERROR — фатальные ошибки, возникающие на этапе компиляции.
  • E_COMPILE_WARNING — предупреждение компилятора PHP-скриптов.
  • E_USER_ERROR — ошибки, сгенерированные пользователями.
  • E_USER_WARNING — предупреждения, сгенерированные пользователями.
  • E_USER_NOTICE — уведомления, сгенерированные пользователями.

Как включить вывод ошибок через .htaccess

Файл .htaccess должен находиться в корневой директории сайта (например, «public_html»). Отредактировать его можно с помощью проводника, доступного в панели хостинга.

Примечание. Если файла .htaccess нет, то его необходимо создать.

Включить отображение ошибок PHP и настроить фильтрацию их вывода можно двумя директивами: «display_errors» и «error_reporting». Первая отвечает за состояние режима показа ошибок («On» или «Off»), а вторая задаёт глубину отображения.

Показать ошибки PHP на экране можно с помощью следующего кода:

php_flag display_errors on
php_value error_reporting -1

После сохранения изменённого файла, следует обновить страницу.

Примеры практического применения

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

Следующий код скроет ошибки PHP с экрана:

# скрыть ошибки php
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_value docref_root 0
php_value docref_ext 0

Иногда нужно фиксировать сбои, но нет возможности вывести ошибки PHP на экран  (например, сайт работает в реальном времени). Для этого можно перенаправить вывод информации в лог-файл с помощью следующего кода:

# включить ведение журнала ошибок PHP
php_flag  log_errors on
# месторасположение журнала ошибок PHP
php_value error_log /var/www/имя_пользователя/data/www/ваш_www-домен/

Чтобы обработка ошибок в .htaccess выполнялась безопасно надо обязательно защитить папку с log-файлами от внешнего доступа при помощи следующего кода:

# запретить доступ к журналу ошибок PHP
<Files PHP_errors.log>
Order allow,deny
Deny from all
Satisfy All
</Files>

Можно также настроить фильтрацию. Флаг «integer» указывает на глубину вывода данных (уровень показа). Значение «0» не выведет никаких ошибок. Комбинация «8191» запишет в log-файл сбои всех уровней.

# общая директива для фильтрации ошибок php
php_value error_reporting integer

Чтобы текст ошибок не обрезался, можно установить максимальный размер на строку:

# общая директива для установки максимального размера строки
log_errors_max_len integer

Выключение записи повторяющихся ошибок сократит объём поступающих данных и улучшит восприятие информации:

# отключить запись повторяющихся ошибок
php_flag ignore_repeated_errors on
php_flag ignore_repeated_source on

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

# обработка ошибок PHP для публичного ресурса
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value docref_root 0
php_value docref_ext 0
php_value error_reporting -1
php_value log_errors_max_len 0

<Files /home/path/public_html/domain/PHP_errors.log>
Order allow,deny
Deny from all
Satisfy All
</Files>

Во время разработки или отладки файл .htaccess должен содержать следующий код:

# Обработка ошибок PHP во время разработки
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value docref_root 0
php_value docref_ext 0
php_value error_log /home/path/public_html/domain/PHP_errors.log
# [see footnote 3] # php_value error_reporting 999999999
php_value error_reporting -1
php_value log_errors_max_len 0

<Files /home/path/public_html/domain/PHP_errors.log>
Order allow,deny
Deny from all
Satisfy All
</Files>

Включение журналирования ошибок PHP в .htaccess

Когда отображение ошибок на странице выключено, необходимо запустить их журналирование следующим кодом:

# включение записи PHP ошибок
php_flag log_errors onphp_value error_log /home/path/public_html/domain/PHP_errors.log

Примечание. Вместо «/home/path/public_html/domain/PHP_errors.log» нужно подставить собственный путь до директории, в которой будет вестись журнал ошибок.

Чтобы запретить доступ к журналу извне, нужно добавить следующий код:

# предотвращаем доступ к логу PHP ошибок
<Files PHP_errors.log>
Order allow,deny
Deny from all
Satisfy All
</Files>

Дополнительные способы вывода ошибок PHP

Можно добавить оператор «@», чтобы запретить показ ошибок в конкретной инструкции PHP:

$value = @$var[$key];

Вывод ошибок в PHP-скрипте

Чтобы выводить все ошибки, нужно в начале скрипта прописать:

error_reporting(-1);

Если необходимо отображать ошибки PHP только из определённого места скрипта, то можно использовать следующий код:

ini_set('display_errors', 'On'); // сообщения с ошибками будут показываться
error_reporting(E_ALL); // E_ALL - отображаем ВСЕ ошибки
$value = $var[$key]; // пример ошибки
ini_set('display_errors', 'Off'); // теперь сообщений НЕ будет

Примечание. Если заменить значения «On» и «Off» в первой и последней строках на противоположные, то на конкретном участке кода ошибки выводиться не будут.

Через файл php.ini

Включить или выключить показ ошибок на всём сайте/хостинге также можно с помощью файла «php.ini», в котором нужно изменить два следующих параметра:

error_reporting = E_ALL
display_errors On

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

Понравилась статья? Поделить с друзьями:
  • Hp scan выдает ошибку
  • Htaccess ошибка 500 редирект
  • Html ошибка 503
  • Html ошибка 400
  • Html ошибка 413