Heim >Backend-Entwicklung >PHP-Tutorial >Warum zeigt mein PHP-Code keine 404-Fehlerseite an?

Warum zeigt mein PHP-Code keine 404-Fehlerseite an?

Susan Sarandon
Susan SarandonOriginal
2024-11-11 03:27:03620Durchsuche

Why Does My PHP Code Fail to Display a 404 Error Page?

HTTP 404-Fehlerbehandlung in PHP

Frage: Warum generiert der folgende PHP-Code keinen 404-Fehler? Seite?

if (strstr($_SERVER['REQUEST_URI'],'index.php')) {
    header('HTTP/1.0 404 Not Found');
}

Antwort: Der Code sendet technisch gesehen einen 404-Header, aber der Benutzer erhält eine leere Seite, weil:

  • Traditionelle 404 Handhabung: Webserver verarbeiten normalerweise 404-Fehler, indem sie auf eine benutzerdefinierte 404-Seite umleiten.
  • PHP-Überschreibung: Sobald die PHP-Verarbeitung beginnt, kann der Server 404-Fehler nicht mehr verarbeiten. Der PHP-Code muss die 404-Seite selbst generieren und anzeigen.

In diesem Fall sendet der PHP-Code nur den 404-Header, stellt aber nicht den eigentlichen 404-Seiteninhalt bereit. Um dies zu beheben, müssen Sie auch die 404-Seite ausgeben. Zum Beispiel:

if (strstr($_SERVER['REQUEST_URI'],'index.php')) {
    header('HTTP/1.0 404 Not Found');
    echo "<p>Page not found</p>";
}

Das obige ist der detaillierte Inhalt vonWarum zeigt mein PHP-Code keine 404-Fehlerseite an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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