2 kroki do prostej konfiguracji strony błędu

1
2299
http://css-tricks.com/thispagedoesntexist

Czym są strony błędu?

Są to strony, które powinny się wyświetlić, gdy z jakieś przyczyny strona, na którą dotarł użytkownik nie istnieje.

Co się powinno znaleźć na stronie błędu?

Jest kilka ważnych elementów, które powinny zostać umieszczone na stronie błędu.

Jest to dość oczywiste, ale powinna się tu znaleźć przede wszystkim informacja, że dana strona nie istnieje. Dziwne i logiczne zarazem ;) Powinniśmy poinformować użytkownika, ze strona, którą chciał znaleźć nie jest już dostępna. Powinniśmy dać możliwość przejścia na stronę główną lub w pewnych przypadkach możliwość powrotu na wcześniej odwiedzaną stronę.

Dobrze jakby na stronie błędu znalazła się również możliwość skorzystania z pola wyszukiwania, dzięki któremu użytkownik może ponownie przeszukać zasoby naszej strony Internetowej.

W jaki sposób utworzyć stronę błędu? Oto 2 proste kroki.

#1 Krok – Tworzenie strony błędu

Należy stworzyć stronę, na którą będą kierowane powstałe błędy. Możesz nazwać ją dowolnie, jednak najlepiej jakby nazwa była adekwatna do sytuacji. Powiedzmy, że nazwiemy ją error.php

Na tej stronie, na samej górze należy dodać podany niżej kod:

<?php
switch($_SERVER["REDIRECT_STATUS"]){
 case 400:
 $title = "400 Bad Request";
 $description = "The request can not be processed due to bad syntax";
 break;
 case 401:
 $title = "401 Unauthorized";
 $description = "The request has failed authentication";
 break;
 case 403:
 $title = "403 Forbidden";
 $description = "The server refuses to response to the request";
 break;
 case 404:
 $title = "404 Not Found";
 $description = "The resource requested can not be found.";
 break;
 case 500:
 $title = "500 Internal Server Error";
 $description = "There was an error which doesn't fit any other error message";
 break;
 case 502:
 $title = "502 Bad Gateway";
 $description = "The server was acting as a proxy and received a bad request.";
 break;
 case 504:
 $title = "504 Gateway Timeout";
 $description = "The server was acting as a proxy and the request timed out.";
 break;
}
?>

Podany kod PHP tworzy indywidualne tytuły oraz opisy do każdego rodzaju błędu. Dzięki temu wszystko znajduje się w jednym pliku. Oczywiście możesz do tego dodać unikatowy kontent oraz elementy wymienione wcześniej.

#2 Krok – Konfiguracja pliku .htaccess

Teraz trzeba przekierować wszystkie błędne odpowiedzi na naszą świeżo utworzoną stronę błędu. W tym celu należy dodać poniższy kod do pliku .htaccess

 ErrorDocument 400 /error.php
 ErrorDocument 401 /error.php
 ErrorDocument 403 /error.php
 ErrorDocument 404 /error.php
 ErrorDocument 500 /error.php
 ErrorDocument 502 /error.php
 ErrorDocument 504 /error.php

Dodatkowo można dodać poniższy kod do .htaccess

RewriteCond %{REQUEST_FILENAME} !-f #czy jest plik
RewriteCond %{REQUEST_FILENAME} !-d #czy jest katalog
RewriteRule ^(.*)$ http://www.domena.pl/error.php [L,R=301] #przekierowanie


ZOSTAW ODPOWIEDŹ

Please enter your comment!
Please enter your name here