ErrorDocument 400 /400.html
ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
ErrorDocument 405 /405.html
ErrorDocument 408 /408.html
ErrorDocument 414 /414.html
ErrorDocument 500 /500.html
ErrorDocument 502 /502.html
ErrorDocument 504 /504.html
Und eine PHP-Vorlage zur Behandlung von Fehlern, wenn Sie es einfach halten möchten
<?php
$status=$_SERVER['REDIRECT_STATUS'];
$codes=array(
400 => array('400 Bad Request', 'The request cannot be fulfilled due to bad syntax.'),
401 => array('401 Login Error', 'It appears that the password and/or user-name you entered was incorrect.'),
403 => array('403 Forbidden', 'Sorry, employees and staff only.'),
404 => array('404 Missing', 'We\'re sorry, but the page you\'re looking for is missing, hiding, or maybe it moved somewhere else and forgot to tell you.'),
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.'),
414 => array('414 URL To Long', 'The URL you entered is longer than the maximum length.'),
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.'),
);
$errortitle=$codes[$status][0];
$message=$codes[$status][1];
if($errortitle==false){
$errortitle="Unknown Error";
$message="An unknown error has occurred.";
}
?>
<!doctype html>
<html>
<head>
<title><?php echo("$errortitle");?></title>
<meta charset="utf-8">
</head>
<body>
<!-- Insert headers here. -->
<?php
echo('<h1>'.$errortitle.'</h1>');
echo('<p>'.$message.'</p>');
?>
<!-- Insert footers here. -->
</body>
</html>
Müssen die Fehlerseiten HTML sein?
Nein,
es sollte auch mit jeder anderen Dateiendung in Ordnung sein
Nein, Sie können den Dateityp auch auf PHP oder jedes andere Webseitenformat ändern.
Ich weiß, dass dieser Beitrag schon lange erstellt wurde, aber
Ich bin neu hier und habe eine Frage (= brauche Hilfe)
Die erwähnte PHP-Vorlage, wie soll diese verwendet werden?
Muss ich für jeden Fehler eine HTML-Datei erstellen und dann einfach die Codezeilen kopieren und einfügen, wie in der (PHP-)Vorlage erwähnt?
Ich freue mich über jede Hilfe, vielen Dank im Voraus!
Hey, ich habe dieses Snippet für .htaccess verwendet und auch die Fehlerseiten erstellt, aber aus irgendeinem Grund funktioniert es nicht. Ich kann meine benutzerdefinierten Fehlerseiten nicht sehen, obwohl ich alle Dateipfade und alles überprüft habe.
Wo habe ich mich geirrt?
Meine .htaccess-Datei sieht so aus
ErrorDocument 400 /errors/badrequest.html
ErrorDocument 401 /errors/authreqd.html
ErrorDocument 403 /errors/forbid.html
ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/serverr.html
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?qumatech\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpg|gif|bmp|png)$ /images/dontsteal.gif [L]
Bitte helfen Sie, ich bin neu bei htaccessing :/
Danke!
Ich habe das gleiche Problem.
Hey :D Ich hatte das gleiche Problem, aber ich habe es gelöst :P Du kannst deine Fehlerdateien nicht in einen Ordner legen, ich habe sie in den Ordner gelegt, in dem sich meine Website und die htaccess befinden, und es hat funktioniert :D Ich hoffe, ich konnte helfen :)
Das war eine großartige Ergänzung zu meinem Code.
Wie soll die PHP-Vorlagendatei heißen?
danke.
Das hier hat bei mir funktioniert
# .htaccesss
# Fehler umleiten
ErrorDocument 400 /error.php?q=400
ErrorDocument 401 /error.php?q=401
ErrorDocument 403 /error.php?q=403
ErrorDocument 404 /error.php?q=404
ErrorDocument 405 /error.php?q=405
ErrorDocument 408 /error.php?q=408
ErrorDocument 414 /error.php?q=414
ErrorDocument 500 /error.php?q=500
ErrorDocument 502 /error.php?q=502
ErrorDocument 504 /error.php?q=504
Ich habe versucht, diese Version zu verwenden, sowie das Original oben, aber keine von beiden funktioniert. Ich bekomme die Standard-404-Fehlermeldung, aber dann bekomme ich auch dies
Zusätzlich wurde ein 404 Not Found-Fehler aufgetreten, als versucht wurde, eine ErrorDocument zu verwenden, um die Anfrage zu bearbeiten.
Ich frage mich, ob Sie hier etwas Licht ins Dunkel bringen können? Vielleicht implementiere ich es einfach nicht richtig? Ich habe das gegoogelt und nach Alternativen gesucht, aber ich finde nichts so Einfaches wie das.
Und ja, bevor Sie es empfehlen, ich habe den Fehler ganz oben in Ihrer Version behoben, wo es <?php und nicht <?php heißen sollte.
Hallo Andy
Ich habe Ihren Code vor 2 Wochen benutzt und festgestellt
Wenn Sie „[[%&“ in Ihre URL eingeben, wie z. B.
http://example.com/%5B%5B%&
dann kommt die Fehlerseite von Apache und nicht die in .htaccess generierte
benutzerdefinierte Fehlerseite „ErrorDocument 400 /error.php?q=400“ mit der Information
400 Bad Request’, ‘Your syntax is wack.
Wie kann ich das beheben?
Hallo
Ihrem Code fehlt ein Semikolon am Ende von Zeile 22 :)
Das hat auf meiner Website perfekt funktioniert. Das war genau das, wonach ich gesucht habe, da ich nicht mehrere Fehlerseiten pflegen wollte. Jetzt sehen meine Fehlerseiten aus wie meine Hauptseiten.
Danke für einen nützlichen Code
Funktioniert und ist gut. Mit kleinen Ergänzungen bei JavaScript und CSS3 konnte ich es stilvoll und mehrsprachig gestalten
Schauen Sie sich das an: http://salim.web.id/error.php
Ich werde mir selbst antworten
Lesen Sie hier über Apache und Nginx
Danke trotzdem
Ich hoffe, meine letzte Frage zu ErrorDocuments
:-)
Was ist falsch an der obigen RewriteRule?
Warum werden blockierte Dateien/URLs nicht auf eine generierte 404-Seite umgeleitet, stattdessen sehe ich die Methode „if($errortitle==false){…“?
RewriteRule .* error.php?q=404 [NS,L]
Danke für die Hilfe
Endlich funktionierender Code! ^^ Vielen Dank.
Wo platziere ich sie in WordPress?
Welches Verzeichnis und welche Erweiterung?
Es schreibt einfach /error.php?q=504 auf der Seite statt einer Umleitung
Cooles CSS
Was ist mit 500 Fehlern? Bei mir funktionieren diese nicht :( Chrome auf Android zeigt einfach seine eigene 500er-Seite an, anstatt die Fehlerseite anzuzeigen. Alle 400er etc. funktionieren einwandfrei, nur 5** funktionieren nicht.