Heim  >  Artikel  >  Backend-Entwicklung  >  Warum zeigt meine PHP-App eine leere Seite anstelle eines 404-Fehlers an?

Warum zeigt meine PHP-App eine leere Seite anstelle eines 404-Fehlers an?

Susan Sarandon
Susan SarandonOriginal
2024-11-12 03:33:02905Durchsuche

Why Does My PHP App Show a Blank Page Instead of a 404 Error?

PHP 404-Fehler: Die Lücke auf der letzten Meile verstehen

Warum zeigt Ihre PHP-Anwendung trotz Befolgung des scheinbar korrekten Codes keinen 404 an? Fehler und zeigt stattdessen eine leere Seite an?

Der bereitgestellte Code stellt sicher, dass ein 404-Fehlerheader gesendet wird. Es berücksichtigt jedoch keinen entscheidenden Unterschied in der Art und Weise, wie Antworten von Webservern im Vergleich zu PHP verarbeitet werden.

Webserver-Handhabung

Typischerweise verarbeitet der Webserver die Anfrage und wenn es die angeforderte Datei unter der URI nicht finden kann, sendet es einen 404-Header und zeigt einen benutzerdefinierten 404-Fehler an Seite.

PHP Interception

Wenn der Webserver die Anfrage an die PHP-Seite delegiert, ist das PHP-Skript für die Generierung sowohl des Headers als auch des Antworttexts verantwortlich. Dies bedeutet, dass sich der Webserver trotz des von PHP gesendeten 404-Headers bereits dazu verpflichtet hat, die PHP-Seite anstelle der Standard-404-Seite anzuzeigen.

Übergabe an PHP

Dadurch übernimmt das PHP-Skript effektiv die Verantwortung für die Behandlung des 404-Fehlers, von dem es zwei gibt Herausforderungen:

  • Fehlende 404-Seite: Dem PHP-Skript fehlt die notwendige Konfiguration, um zu einer benutzerdefinierten 404-Fehlerseite umzuleiten.
  • Ausgabestörung: Jede vom PHP-Skript generierte Ausgabe überschreibt den 404-Seiteninhalt, was zur Anzeige einer leeren Seite anstelle eines Fehlers führt Nachricht.

Lösung

Um das Problem zu beheben, müssen Sie den 404-Fall explizit behandeln und selbst eine Fehlermeldung ausgeben. Der folgende Code stellt ein Beispiel dar:

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

Das obige ist der detaillierte Inhalt vonWarum zeigt meine PHP-App eine leere Seite anstelle eines 404-Fehlers 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