За последние 24 часа нас посетил 55491 программист и 1793 робота. Сейчас ищут 844 программиста ...

error.php

Тема в разделе "Прочее", создана пользователем Negative, 6 дек 2006.

  1. Negative

    Negative Активный пользователь

    С нами с:
    27 окт 2006
    Сообщения:
    2
    Симпатии:
    0
    установил xampp
    в httpd.conf -
    <Directory "C:/Pub/xampp/htdocs">
    ...
    AllowOverride All
    ...
    </Directory>
    в корне лежит .htaccess следующего вида:
    Код (Text):
    1.  
    2. ErrorDocument 100 /error.php?100
    3. ErrorDocument 101 /error.php?101
    4. ErrorDocument 200 /error.php?200
    5. ErrorDocument 201 /error.php?201
    6. ErrorDocument 202 /error.php?202
    7. ErrorDocument 203 /error.php?203
    8. ErrorDocument 204 /error.php?204
    9. ErrorDocument 206 /error.php?205
    10. ErrorDocument 206 /error.php?206
    11. ErrorDocument 300 /error.php?300
    12. ErrorDocument 301 /error.php?301
    13. ErrorDocument 302 /error.php?302
    14. ErrorDocument 303 /error.php?303
    15. ErrorDocument 304 /error.php?304
    16. ErrorDocument 305 /error.php?305
    17. ErrorDocument 306 /error.php?306
    18. ErrorDocument 307 /error.php?307
    19. ErrorDocument 400 /error.php?400
    20. ErrorDocument 401 /error.php?401
    21. ErrorDocument 402 /error.php?402
    22. ErrorDocument 403 /error.php?403
    23. ErrorDocument 404 /error.php?404
    24. ErrorDocument 405 /error.php?405
    25. ErrorDocument 406 /error.php?406
    26. ErrorDocument 407 /error.php?407
    27. ErrorDocument 408 /error.php?408
    28. ErrorDocument 409 /error.php?409
    29. ErrorDocument 410 /error.php?410
    30. ErrorDocument 411 /error.php?411
    31. ErrorDocument 412 /error.php?412
    32. ErrorDocument 413 /error.php?413
    33. ErrorDocument 414 /error.php?414
    34. ErrorDocument 415 /error.php?415
    35. ErrorDocument 500 /error.php?500
    36. ErrorDocument 501 /error.php?501
    37. ErrorDocument 502 /error.php?502
    38. ErrorDocument 503 /error.php?503
    39. ErrorDocument 504 /error.php?504
    40. ErrorDocument 505 /error.php?505
    там же есть файл error.php
    Код (Text):
    1.  
    2. <?php
    3.  
    4. $server_url = "http://192.168.4.227/";
    5. $server_name = "Seattle Inc.";
    6.  
    7. $a[100] = "Continue :: Клиент может продолжать запрос.";
    8. $a[101] = "Switching Protocols :: Сервер принял запрос клиента на переключение на модифицированный протокол.";
    9. $a[200] = "НТТР_ОК :: Успешный запрос.";
    10. $a[201] = "HTTP_CREATED :: Запрос выполнен, в результате этого был создан новый запрос.";
    11. $a[202] = "HTTP_ACCEPTED :: Запрос был принят на обработку, но обработка не завершена.";
    12. $a[203] = "HTTP_NON_AUTHORITATIVE :: Возвращенная информация была собрана с копии третьей стороны.";
    13. $a[204] = "HTTP_NO_CONTENT :: Сервер обработал запрос, но в результате данные не получены.";
    14. $a[205] = "Reset Content :: Пользовательский агент переустановит отображение документа.";
    15. $a[206] = "Partial Content :: Сервер выполнил частичный запрос GET к документу.";
    16. $a[300] = "HTTP_MULTIPLE_CHOICES :: Этот заголовок используется для того, чтобы показать, что удовлетворять запрос может более чем один документ.";
    17. $a[301] = "HTTP_MOVED_PERMANENTLY :: Запрошенный документ был перенесен на новый URI.";
    18. $a[302] = "HTTP_FOUND :: Запрошенный ресурс был временно перемещен на новый URI.";
    19. $a[303] = "HTTP_SEE_OTHER :: Ответ на запрос можно найти под различными URI. Он может быть выбран с помощью запроса, сделанного методом GET к этому ресурсу.";
    20. $a[304] = "HTTP_NOT_MODIFIED :: Сервер отвечает этим кодом, когда клиент выполнил условный запрос GET и запрос был разрешен, но документ не модифицирован.";
    21. $a[305] = "HTTP_USE_PROXY :: Доступ к запрошенному ресурсу должен производиться через proxy, заданный в поле Location . Поле Location задает URI для proxy.";
    22. $a[307] = "HTTP TEMPORARY REDIRECT :: Запрошенный ресурс временно находится под другими URI. Так как переадресация может быть отменена в любой удобный момент, для будущих запросов клиент должен использовать Request-URI.";
    23. $a[400] = "Bad Request :: Запрос не понят сервером из-за наличия синтаксической ошибки.";
    24. $a[401] = "Unauthorized :: Запрос требует идентификации пользователя.";
    25. $a[402] = "Payment Required :: Требуется оплата.";
    26. $a[403] = "Forbidden :: Сервер понял запрос, но он отказывается его выполнять. Запрещено. Идентификация тут не помогает.";
    27. $a[404] = "Not Found :: Сервер не нашел соответствия по запросу Request-URI.";
    28. $a[405] = "Method Not Allowed :: Метод, указанный в Request-Line, не соответствует ресурсу, заданному Request-URI.";
    29. $a[406] = "Not Acceptable :: Ресурс, определенный запросом, может генерировать только ответ, характеристики которого не соответствуют заголовкам, посланным в запросе.";
    30. $a[407] = "Proxy Authentication Required :: Этот код подобен коду 401 (unauthorized), но в этом случае клиент должен сначала идентифицировать себя с помощью proxy.";
    31. $a[408] = "Request Time-out :: На протяжении периода ожидания сервера клиент не сделал запроса.";
    32. $a[409] = "Conflict :: Запрос не будет завершен вследствие конфликта с текущим состоянием ресурса.";
    33. $a[410] = "Gone :: Запрошенный ресурс и адрес, по которому можно сделать пересылку, на сервере отсутствуют.";
    34. $a[411] = "Length Required :: Сервер отказывается принимать запрос без определенного Content-Length.";
    35. $a[412] = "Precondition Failed :: При проверке на сервере одного или более полей заголовка запроса обнаружено несоответствие.";
    36. $a[413] = "Request Entity Too Large :: Сервер отказывается обрабатывать запрос потому, что размер запроса больше того, что может обработать сервер.";
    37. $a[414] = "Request-URI Too Large :: Сервер отказывается обрабатывать запрос потому, что Request-URI превышает размеры, которые может обработать сервер.";
    38. $a[415] = "Unsupported Media Type :: Неподдерживаемый медиа тип.";
    39. $a[500] = "Internal Server Error :: Внутренняя ошибка сервера.";
    40. $a[501] = "Not Implemented :: Сервер не поддерживает возможностей, необходимых для обработки запроса.";
    41. $a[502] = "Bad Gateway :: Сервер, функционирующий как шлюз или proxy, получил ошибочный ответ от подчиненного сервера, к которому он попытался получить доступ для обработки запроса.";
    42. $a[503] = "Service Unavailable :: В данный момент сервер не в состоянии обработать запрос из-за того, что сервер перегружен или находится на профилактическом обслуживании.";
    43. $a[504] = "Gateway Time-out :: Работая в режиме шлюза или proxy, сервер не получил вовремя ответ от сервера верхнего уровня.";
    44. $a[505] = "HTTP Version not supported :: Сервер не поддерживает или отказывается поддерживать версию протокола HTTP, которая была использована в последнем запросе.";
    45.  
    46. if (getenv('HTTP_X_FORWARDED_FOR'))
    47.     {
    48.         $ip=getenv('HTTP_X_FORWARDED_FOR');
    49.     }
    50.     else
    51.     {
    52.         $ip=getenv('REMOTE_ADDR');
    53.     }
    54.  
    55. $url = "http://";
    56. $url .=$_SERVER['SERVER_NAME'];
    57. $url .=$_SERVER['REQUEST_URI'];
    58.  
    59. $signature = $_SERVER['SERVER_SIGNATURE'];
    60. $browser = $_SERVER['HTTP_USER_AGENT'];
    61. $time = date("d.m.Y H:i:s");
    62.  
    63. $title = "$server_name - Ошибка $id";
    64. $body = "<hr><br><br>Запрошенный Вами url: $url<br>Возможно интересующую Вас информацию можно найти по старому адресу: <a href='$server_url' target='_blank'>$server_url</a><br><br>Ваш IP: $ip<br>Ваш броузер: $browser<br>Текущее время сервера: $time<br><br><br><hr>$signature";
    65.  
    66. ?>
    67.  
    68. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    69. <html>
    70. <head>
    71. <title><?=$title?></title>
    72. </head>
    73. <body>
    74. <div align="center"><h1>Ошибка <?=$id?></h1><h2><?=$a[$id]?></h2></div>
    75. <?=$body?>
    76.  </body>
    77. </html>
    но обрабатывает только некоторые ошибки. вопрос почему ?
    (как пример при запросе http://localhost/% - должна быть ошибка из моего скрипта Bad request Error 400, а выдаётся стандартная ошибка apache)
     
  2. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    мб стоит сообщить браузеру что всё ОК?
     
  3. user32

    user32 Активный пользователь

    С нами с:
    5 мар 2008
    Сообщения:
    1
    Симпатии:
    0
    А что такое $id в этой строке:
    Код (Text):
    1. $title = "$server_name - Ошибка $id";
    Нужно добавить в .htaccess это:
    Код (Text):
    1. ErrorDocument 100 /error.php?id=100
    Вроде так. Да и разрешить в апаче использование .htaccess файла, а то по дефолту он запрещён.