Tablica ze statusami błędów HTTP + tłumaczenie po polsku oraz wpisy do pliku .htaccess z tymi błędami:
//Tablica ze statusami błędów by tosiek ( https://tosiek.pl/ ) $errors = array( //Client errors - po stronie klienta '400'=>array('Bad Request','Błędne żądanie'), '401'=>array('Unauthorized','Brak autoryzacji'), '402'=>array('Payment Required','Wymagana opłata'), '403'=>array('Forbidden','Dostęp zabroniony'), '404'=>array('Not Found','Nie znaleziono'), '405'=>array('Method Not Allowed','Metoda nie dozwolona'), '406'=>array('Not Acceptable','Brak akceptacji'), '407'=>array('Proxy Authentication Required','Wymagana autoryzacja proxy'), '408'=>array('Request Time-out','Zapytanie przekroczyło czas oczekiwania'), '409'=>array('Conflict','Konflikt'), '410'=>array('Gone','Zniknął'), '411'=>array('Length Required','Wymagana długość'), '412'=>array('Precondition Failed','Nie spełniono warunku wstępnego'), '413'=>array('Request Entity Too Large','Zbyt duże żądanie'), '414'=>array('Request-URI Too Large','Adres URI zapytania jest zbyt długi'), '415'=>array('Unsupported Media Type','Niewspierany typ medium'), '416'=>array('Requested range not satisfiable','Żądany zakres nie obsługiwany'), '417'=>array('Expectation Failed','Niepowodzenie oczekiwania'), //Server errors - po stronie serwera '500'=>array('Internal Server Error','Wewnętrzny błąd serwera'), '501'=>array('Not Implemented','Niezaimplementowane'), '502'=>array('Bad Gateway','Błąd bramy'), '503'=>array('Service Unavailable','Usługa niedostępna'), '504'=>array('Gateway Time-out','Przekroczony czas oczekiwania bramy'), '505'=>array('HTTP Version not supported','Brak wsparcia dla tej wersji HTTP'), '509'=>array('Bandwidth Limit Exceeded','Przekroczono limit transferu'), ); |
Do tablicy odnosimy się:
$errors[numer_błędu][jezyk_opisu]
(gdzie jezyk_opisu to: 1 – polski, 0 – angielski który jest także nagłówkiem dla przeglądarki)
Więc dla polskiego opisu dla błędu 404:
$errors[404][‘1’]
Dla angielskiego opisu dla błędu 404: (angielski opis jest takze nagłówkiem wysyłanym do przeglądarki)
$errors[404][‘0’]
Wpisy do pliku .htaccess ze wszystkimi wyżej wymienionymi błędami HTTP:
#Bledy numeryczne na error.php RewriteRule ^([0-9][0-9][0-9])+$ /errorek.php?error=$1 [L,NC] #Bledy HTTP - wlasna strona bledu #Client error - po stronie klienta ErrorDocument 400 /400 ErrorDocument 401 /401 ErrorDocument 402 /402 ErrorDocument 403 /403 ErrorDocument 404 /404 ErrorDocument 405 /405 ErrorDocument 406 /406 ErrorDocument 407 /407 ErrorDocument 408 /408 ErrorDocument 409 /409 ErrorDocument 410 /410 ErrorDocument 411 /411 ErrorDocument 412 /412 ErrorDocument 413 /413 ErrorDocument 414 /414 ErrorDocument 415 /415 ErrorDocument 416 /416 ErrorDocument 417 /417 #Server error - po stronie serwera ErrorDocument 500 /500 ErrorDocument 501 /501 ErrorDocument 502 /502 ErrorDocument 503 /503 ErrorDocument 504 /504 ErrorDocument 505 /505 ErrorDocument 509 /509 |
Jak widać powyżej strony błędów są pobierane z adresu /XXX gdzie XXX to numer błędu. Natomiast reguła RewriteRule wczytuje dokument errorek.php ze zmienną GET error=$1 gdzie $1 to numer błedu jak i adres wywołanej strony.
25.08.2009 at 14:02
dzięki na pewno się przyda