Évasion d'erreur 404 PHP : démasquer le défaut de communication caché
Lorsque vous essayez d'envoyer une erreur 404 avec PHP, vous pouvez rencontrer un résultat inattendu : une page blanche. Pour comprendre pourquoi cela se produit, examinons le code que vous avez fourni :
if (strstr($_SERVER['REQUEST_URI'],'index.php')) { header('HTTP/1.0 404 Not Found'); }
Bien que techniquement correct, ce code définit uniquement l'en-tête HTTP sur "404 Not Found". Cependant, le serveur Web a déjà commencé à traiter la page PHP avant que cet en-tête puisse être intercepté.
Le flux normal d'une erreur 404 ressemble à ceci :
Cependant, avec votre code PHP :
Par conséquent, malgré l'en-tête 404, le navigateur reçoit toujours la sortie PHP et affiche une page vierge. Pour résoudre ce problème, PHP doit également fournir la page d'erreur 404. Par exemple, vous pouvez utiliser le code suivant :
header('HTTP/1.0 404 Not Found'); echo '<html><head><title>404 Not Found</title></head><body><h1>404 Error</h1></body></html>';
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!