Heim > Backend-Entwicklung > PHP-Tutorial > Warum erzeugt mein PHP-Code keinen 404-Fehler?

Warum erzeugt mein PHP-Code keinen 404-Fehler?

Patricia Arquette
Freigeben: 2024-11-11 06:25:02
Original
272 Leute haben es durchsucht

Why Doesn't My PHP Code Produce a 404 Error?

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');
}
Nach dem Login kopieren

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:

  • Webserver behandeln 404-Fehler normalerweise selbst und zeigen eine bestimmte 404-Seite an .
  • PHP überschreibt diesen Prozess jedoch, indem es die Anfrage empfängt und einen 404-Header sendet.

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
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage