::: PHP.com.ua - учимся вместе. ::: ::: PHP.com.ua - учимся вместе. :::



 
   - Вакансия PHP-программист, Днепропетровск...
  - Проблема с передачей переменной в PHP ск...
  - Как хранить конфигурацию cms'ки?
  - Проблема с сортировкой массива
  - коллизии md5
  - Странный глюк функции date
  - Скроллинг в iframe


Главная
Новости
Статьи
Шпаргалки
Файлы
О проекте
Форум
Футболки


FREEhost.com.ua - купил хостинг 10 у.е. на Begun в подарок.

iName.com.ua - регистрация доменных имен и хороший хостинг.

Библиотека программиста - нужный вам исходник или документация по необходимому для вас языку программирования.

Designclub - Клуб дизайнеров Украины.

Регистрация доменов
Хостинг

 HowtoForge.ORG.UA - Это первый Украинский ресурс развития open source программного обеспечения


Путь: Статьи > Готовые решения

Готовые решения

Автор: - Yurik
Дата публикации - 21.05.2005
Просмотров: - 3517

Создание своей страницы сообщений об ошибках


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

Создаём следующий файл .htaccess (в главном файле httpd.conf администратор сервера
должен поставить/оставить для Вашей AllowOverride All или хотя бы AllowOverride Options)
[quote]<font color="#FF9900"># Сделайте свои индивидуальные сообщения об
ошибках сервера</font><br>
<font color="#0000CC">ErrorDocument 500 /</font><font color="#CC0000">serror.php</font><font color="#0000CC">?e</font>=<font color="#006600">500</font><br>
<font color="#0000CC">ErrorDocument 404 /</font><font color="#CC0000">serror.php</font><font color="#0000CC">?e</font>=<font color="#006600">404</font><br>
<font color="#0000CC">ErrorDocument 401 /</font><font color="#CC0000">serror.php</font><font color="#0000CC">?e</font>=<font color="#006600">401</font><br>
<font color="#0000CC">ErrorDocument 403 /</font><font color="#CC0000">serror.php</font><font color="#0000CC">?e</font>=<font color="#006600">403</font> [/quote]

И соответственно свои сообщения об ошибках - файл serror.php (Весь дизайн размещается в страницах top.php+bottom.php):
[php]
<?php
 $e
=$HTTP_GET_VARS['e'];
 include (
'config.php');
 
$title='Ошибка'
 include (
'top.php');
 switch (
$e){
  case 
"401":
     
$errmsg='Для просмотра этой страницы нужно пройти авторизацию';
     break;
  case 
"403":
     
$errmsg='Доступ к этому файлу запрещен';
     break; 
  case 
"404":
     
$errmsg='Файл не найден';
     break; 
  case 
"500"
     
$errmsg='Внутренняя ошибка сервера'
     break; 
  default: 
     
$errmsg='Неопознанная ошибка'
 } 
 echo 
"<h3>".$errmsg."</h3>"
 
include ('bottom.php'); 
?>[

/php]
[p]У меня IE и вся эта фигня не пашет/работает и т.д.[/p]
Суть проблемы: когда вы отсылаете простой файл, спереди к нему прикрепляется заголовок
[quote]HTTP/1.1 200 OK[/quote] и броузеры его отображают. Когда выводится сообщение об ошибках - к нему вместо этого заголовка добавляется [quote]HTTP/1.1 404[/quote] или аналогичный. Так как броузер IE - не какой нибудь отстойный Линкс, то у него есть такая очень навороченая фишка, которая размещена
[quote]Сервис->Свойства обозревателя->Дополнительно->Выводить подробные сообщения об ошибках http[/quote] и конечно включена по-умолчанию. Она выводит очень информативные сообщения игнорируя Ваш файл, если он идет после заголовка с кодом ошибки. Правда это не всегда, если Ваш файл более информативный - IE выведет его. Информативность он меряет по количеству байт. Если Ваш файл имеет хотя бы 512 байт - значит он подробный, если 511 и меньше - увы, не сочтите.
[p]Я хочу чтобы у меня это работало на всех броузерах[/p]
Решение 1 (тупое) - послать правильный заголовок [quote]HTTP/1.1 200 OK[/quote] но тогда прощай http авторизация. Решение 2 - файл создавать не меньше 512 байт.



Обсудить в ФОРУМе - комментариев ()


Путь: Статьи > Готовые решения

Если вы заметили орфографическую, стилистическую или другую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Контакты Design by webFaction Ukrainian PHP Group 2004-2005