Intereting Posts
Получить часть строки, если с условным префиксом Включить SSL в PHP fsockopen () Две команды успешно выполняются вручную, но не выполняются при запуске в shell_exec (), что дает ошибку TimeOut Таймер обратного отсчета Javascript, который останавливается, когда окно не находится в фокусе Подготовленные утверждения с динамическим предложением WHERE Использование магических констант из другой области Отправка почты (в Localhost) с помощью библиотеки электронной почты CodeIgniter из gmail не работает Проблема с preg_replace_callback () PHP-сообщение на странице facebook Смущает проблема PHP-сессии (Rackspace) MAX_FILE_SIZE в PHP – в чем смысл? Ларавельные сеансы, восстанавливающиеся при каждой нагрузке htmlentities () против htmlspecialchars () как перебирать не-английские имена файлов в PHP Предупреждение: PDOStatement :: execute (): SQLSTATE : Недопустимый номер параметра: количество связанных переменных не совпадает с числом токенов в

Index.php как пользовательская страница ошибки

Я использую Apache 2.2.X и PHP 5.2.X (установленный как модуль Apache) для создания нового веб-сайта, и я хотел бы прочитать ваши предложения о том, как я пытаюсь обрабатывать ошибки сервера.
Я думал о том, чтобы использовать тот же файл моей домашней страницы (/index.php), чтобы показывать пользовательские сообщения об ошибках. Это моя настройка .htaccess:

ErrorDocument 400 /index.php?error=400 ErrorDocument 401 /index.php?error=401 ErrorDocument 403 /index.php?error=403 ErrorDocument 404 /index.php?error=404 ErrorDocument 500 /index.php?error=500 

Теперь в моем файле index.php у меня есть код, который выглядит так:

 if (isset($_GET['error'])) DrawErrorPage($_GET['error']); else DrawHomepage(); 

Все работает как шарм.
Ну, все, кроме одной вещи, которую я не могу исправить: если я заставляю Apache отвечать кодом состояния 500 (например, вставляя неверный код в мой .htaccess), я не перенаправляюсь на «/index.php? error = 500 ", но вместо этого я получаю страницу с ошибкой по умолчанию 500. С любым другим кодом состояния (например, 403 или 404) моя конфигурация работает абсолютно отлично.

Но теперь у меня есть сомнения, и я начинаю думать, что было бы лучше использовать другую страницу для обработки ошибок (например, «/error.php»).
«DrawHomepage ()» необходимо установить метатег «robots» в «index, follow», в то время как «DrawErrorPage ()» необходимо установить его в «noindex, nofollow». Правильно? Итак … что произойдет, если веб-искатель получит сообщение об ошибке, впервые посетив мою домашнюю страницу? Что произойдет, если веб-искатель получит 200 посещений моей домашней страницы в первый раз, но 500 посещений его через месяц? И что произойдет, если я сохраню метатег «robots» в «index, follow», даже если я покажу ошибки?

Есть ли решение проблемы, решение этой проблемы? Что бы вы сделали?

Большое спасибо!