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