Heim >Backend-Entwicklung >PHP-Tutorial >Warum erzeugt mein PHP-Code keinen 404-Fehler?
Das 404-Fehlerproblem in PHP-Anwendungen lösen
Bei der PHP-Entwicklung ist es manchmal notwendig, einen 404-Fehler zurückzugeben, um anzuzeigen, dass eine Ressource nicht verfügbar sein kann gefunden. Es kann jedoch vorkommen, dass ein Code wie der folgende nicht den beabsichtigten 404-Fehler erzeugt.
if (strstr($_SERVER['REQUEST_URI'],'index.php')) { header('HTTP/1.0 404 Not Found'); }
Anstatt einen 404-Fehler anzuzeigen, erhalten Sie möglicherweise eine leere Seite. Das Problem liegt darin, wie Webserver und PHP bei der Verarbeitung von 404-Antworten interagieren.
Wie in der bereitgestellten Antwort erläutert:
Dadurch umgeht der Webserver seinen eigenen 404-Verarbeitungsmechanismus. Infolgedessen sendet der Webserver anstelle der vorgesehenen 404-Seite alles, was PHP produziert, was in diesem Fall eine leere Seite ist.
Um dieses Problem zu beheben, sollte PHP den 404-Header senden, bevor der Webserver startet Verarbeitung von PHP. Dadurch wird sichergestellt, dass der Webserver die Antwort ordnungsgemäß verarbeiten und die entsprechende 404-Seite anzeigen kann.
Der korrigierte Code:
header('HTTP/1.0 404 Not Found'); exit(); // To prevent any further PHP processing
Das obige ist der detaillierte Inhalt vonWarum erzeugt mein PHP-Code keinen 404-Fehler?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!