Генераторы страниц для ошибок сервера(404 и проч)

Тема в разделе "PHP", создана пользователем blacks, 7 май 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. blacks

    blacks

    Регистр.:
    26 сен 2008
    Сообщения:
    391
    Симпатии:
    24
    Привет всем!

    В php почти ничего не смыслю :ah:... но хочу собрать установить
    обработчик ошибок севрера - в htaccess прописать файл php который
    будет генерить ответ пользователю в зависимости от ошибки сервера.

    Пока что блуждаю в просторах инета в поисках интересных примеров.
    С htaccess уже разобрался.

    Если кому не сложно поделитесь хорошими примерчиками :ah: ?

    Заранее большое Спасибо!
     
  2. microsofd

    microsofd Создатель

    Регистр.:
    25 фев 2008
    Сообщения:
    22
    Симпатии:
    1
    посмотри здесь http://htmlbook.ru/faq/?a=29
     
  3. blacks

    blacks

    Регистр.:
    26 сен 2008
    Сообщения:
    391
    Симпатии:
    24
    Нет :) с htaccess и html я разобрался.
    Мне интересен код одного php файла который генерит
    в зависимости от ошибки определенную страницу.
     
  4. Ratko

    Ratko Постоялец

    Регистр.:
    13 сен 2008
    Сообщения:
    92
    Симпатии:
    21
    Страницы не генерируются. У меня на хосте лежат готовые страницы. Можна отредактировать соответственно дизайну сайта. Например, как яндекс:

    Перейти по ссылке
     
  5. tirrex

    tirrex

    Регистр.:
    9 ноя 2008
    Сообщения:
    213
    Симпатии:
    60
    для начала в htaccess пишем что-то в этом духе:

    ErrorDocument 404 /error.php?404
    ErrorDocument 403 /error.php?403
    ErrorDocument 401 /error.php?401

    потом сам скрипт error.php:

    Код:
    <?php 
    
    $id = $argv[0]; 
    $id = abs(intval($id)); 
    if (!$id) $id = 404; 
    
    switch ($id) {
    case 404:
        echo "текст обработки ошибки 404";
        break;
    case 403:
        echo "текст обработки ошибки 403";
        break;
    case "401":
        echo "текст обработки ошибки 401";
        break;
    }
    ?>
    
    
    в общих чертах так
     
    blacks нравится это.
  6. blacks

    blacks

    Регистр.:
    26 сен 2008
    Сообщения:
    391
    Симпатии:
    24
    Да примерно это я и искал.
    С htaccess уже разобрался.


    Не порекомендуете какой список ошибок сервера подавать из htaccess?
    А то их очень много(у меня раньше были с 404-510)
    Неушто все нужно выводить? :)
     
  7. tirrex

    tirrex

    Регистр.:
    9 ноя 2008
    Сообщения:
    213
    Симпатии:
    60
    наверное будет достаточно нескольких, "естественных" так сказать, ошибок возникающих, например при неправильном наборе url или закрытом доступе

    401 Требуется авторизация
    403 Пользователь не прошел аутентификацию, доступ запрещен
    404 Документ не найден
    400 Неправильный запрос

    т.е. такие, что с большой долей вероятности могут возникнуть, и с помощью обработки мы сможем не потерять посетителя, а предложить какую-нибудь альтернативу
     
  8. X.A.O.C.

    X.A.O.C. Писатель

    Регистр.:
    18 мар 2009
    Сообщения:
    7
    Симпатии:
    2
    Можно и все вывести. Сгенерируй на php текст htaccess со всеми ошибками. А обработчик придется писать.
     
  9. blacks

    blacks

    Регистр.:
    26 сен 2008
    Сообщения:
    391
    Симпатии:
    24
    Тоесть обработчик?!
    htaccess и error.php(вышеобозначенный) нехватит?
     
  10. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    482
    Симпатии:
    351
    Вот этих будит 100% достаточно.. Это самые распространенные, все остальное лажа (покрайней мере пользователю они не нужны!).
    Этот список можеш сам подрезать до оптимального.

    "400 Bad Request"
    "401 Onautorized"
    "403 Forbidden"
    "404 Not Found"
    "405 Method Not Allowes"
    "406 Not Acceptable"
    "407 Proxy Authentification Required"
    "408 Request Time-Out"
    "409 Conflict"
    "410 Gone"
    "411 Length Required"
    "413 Request Entity Too Large"
    "414 Request-URI Too Long"
    "415 Unsupported Media Type"
    "500 Internal Server Error"
    "501 Not Implemented"
    "502 Bad Gateway"
    "503 Service Unavailabel"
    "505 HHTP Version Not Supported"

    error.php и есть обработчик. Именно в нем условия вывода.
     
Статус темы:
Закрыта.