Strona błędu do obsługi wszystkich błędów - CSS-Tricks

Anonim

Jest to sposób na utworzenie jednej strony błędu dla wszystkich błędów, która jest łatwiejsza do aktualizacji i utrzymania.

1) Skieruj wszystkie strony błędów w jedno miejsce w pliku .htaccess

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

2) PHP dla strony error.php w katalogu głównym

$status = $_SERVER('REDIRECT_STATUS'); $codes = array( 403 => array('403 Forbidden', 'The server has refused to fulfill your request.'), 404 => array('404 Not Found', 'The document/file requested was not found on this server.'), 405 => array('405 Method Not Allowed', 'The method specified in the Request-Line is not allowed for the specified resource.'), 408 => array('408 Request Timeout', 'Your browser failed to send a request in the time allowed by the server.'), 500 => array('500 Internal Server Error', 'The request was unsuccessful due to an unexpected condition encountered by the server.'), 502 => array('502 Bad Gateway', 'The server received an invalid response from the upstream server while trying to fulfill the request.'), 504 => array('504 Gateway Timeout', 'The upstream server failed to send a request in the time allowed by the server.'), ); $title = $codes($status)(0); $message = $codes($status)(1); if ($title == false || strlen($status) != 3) ( $message = 'Please supply a valid status code.'; ) // Insert headers here echo '

'.$message.'

'; // Insert footer here