Własna strona obsługi błędów - xampp

0

Odnalazłem w katalogu xamppa folder apache-a i plik konfiguracyjny httpd.conf. Dokonałem zmian w sekcji

  1. Customizable error responses come in three flavors:
    1. plain text 2) local redirects 3) external redirects

  1. Some examples:
    #ErrorDocument 500 "The server made a boo boo."
    #ErrorDocument 404 /missing.html
    #ErrorDocument 404 "/cgi-bin/missing_handler.pl"
    #ErrorDocument 402 http://localhost/subscription_info.html

na :

  1. Customizable error responses come in three flavors:
    1. plain text 2) local redirects 3) external redirects

  1. Some examples:
    ErrorDocument 400 /error.php?400
    ErrorDocument 401 /error.php?401
    ErrorDocument 403 /error.php?403
    ErrorDocument 404 /error.php?404
    ErrorDocument 500 /error.php?500

Następnie stworzyłem własną stronę obsługi błedów error.php o następującej treści:

<?php
$error_no = $_SERVER['QUERY_STRING'];

switch ($error_no) {
  case 400:
    $error_output = "<h1>Strona błędu - &quot;Błędne ż±danie&quot; " .
                    "(Kod błędu: 400)</h1>";
    $error_output .= "Przegl±darka przesłała błędne ż±danie<br>";
    $error_output .= "<a href=\"mailto:[email protected]\">" .
                     "Skontaktuj się</a> z administratorem systemu,";
    $error_output .= " je¶li uważasz, że ten bł±d nie powinien mieć miejsca.";
    break;
     
  case 401:
    $error_output = "<h1>Strona błędu - &quot;Wymagane uwierzytelnienie&quot; " .
                    "(Kod błędu: 401)</h1>";
    $error_output .= "Przesłałe¶ błędne informacje zwi±zane z dostępem " .
                     "do zastrzeżonego obszaru<br>";
    $error_output .= "<a href=\"mailto:[email protected]\">" .
                     "Skontaktuj się</a> z administratorem systemu,";
    $error_output .= " je¶li uważasz, że ten bł±d nie powinien mieć miejsca.";
    break;
  
  case 403:
    $error_output = "<h1>Strona błędu - &quot;Dostęp zabroniony&quot; " .
                    "(Kod błędu: 403)</h1>";
    $error_output .= "Nie masz dostępu do tego obszaru<br>";
    $error_output .= "<a href=\"mailto:[email protected]\">" .
                     "Skontaktuj się</a> z administratorem systemu,";
    $error_output .= " je¶li uważasz, że ten bł±d nie powinien mieć miejsca.";
    break;
     
  case 404:
    $error_output = "<h1>Strona błędu - &quot;Strony nie odnaleziono&quot; " .
                    "(Kod błędu: 404)</h1>";
    $error_output .= "Strona, której poszukujesz, nie może zostać " .
                     "odnaleziona<br>";
    $error_output .= "<a href=\"mailto:[email protected]\">" .
                     "Skontaktuj się</a> z administratorem systemu,";
    $error_output .= " je¶li uważasz, że ten bł±d nie powinien mieć miejsca.";
    break;
     
  case 500:
    $error_output = "<h1>Strona błędu - &quot;Wewnętrzny bł±d serwera&quot; " .
                    "(Kod błędu: 500)</h1>";
    $error_output .= "Serwer natkn±ł się na bł±d " .
                     "wewnętrzny<br>";
    $error_output .= "<a href=\"mailto:[email protected]\">" .
                     "Skontaktuj się</a> z administratorem systemu,";
    $error_output .= " je¶li uważasz, że ten bł±d nie powinien mieć miejsca.";
    break;
     
  default:
    $error_output = "<h1>Strona błędu</h1>";
    $error_output .= "Jest to własna strona błędów.<br>";
    $error_output .= "Powiniene¶ być <a href=\"index.php\">tutaj</a>";
}
?>
<html>
<head>
<title>Tworzenie stron internetowych za pomoc± PHP5, Apache i MySQL</title>
</head>
<body>
<?php
echo $error_output;
?>
</body>
</html>


Kiedy próbuje wywyołać jakiś błąd włącza sie starndowa strona błędu. Proszę o pomoc. Dziekuję Tomek
 
0

Nie możesz przekazywać parametrów GET przy ErrorDocument

0

Rozumiem że chodzi o to że każdy błąd musiałby mieć oddzielną stronę ?
Czyli np. zamiast ErrorDocument 400 /error.php?400 musialoby być np. ErrorDocument 400 /error400.php

Czyli niepoprawny jest poniższy kod w httpd.conf ?

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

Jak to najlepiej rozwiązać, czy moja strona error.php moglaby działac gdyby poprawić jakos httpd.conf ? Dziekuje Tomek

1 użytkowników online, w tym zalogowanych: 0, gości: 1