Résoudre le dilemme des erreurs 404 dans les applications PHP
Dans le développement PHP, il est parfois nécessaire de renvoyer une erreur 404 pour indiquer qu'une ressource ne peut pas être trouvé. Cependant, vous pouvez rencontrer une situation dans laquelle un code comme celui-ci ne produit pas l'erreur 404 souhaitée.
if (strstr($_SERVER['REQUEST_URI'],'index.php')) { header('HTTP/1.0 404 Not Found'); }
Au lieu d'afficher une erreur 404, vous pouvez obtenir une page vierge. Le problème réside dans la manière dont les serveurs Web et PHP interagissent dans le traitement des réponses 404.
Comme expliqué dans la réponse fournie :
Cela amène le serveur Web à contourner son propre mécanisme de gestion 404. Par conséquent, au lieu de la page 404 prévue, le serveur Web envoie tout ce que PHP produit, qui est une page vide dans ce cas.
Pour résoudre ce problème, PHP doit envoyer l'en-tête 404 avant le démarrage du serveur Web. traitement de PHP. Cela garantit que le serveur Web peut gérer correctement la réponse et afficher la page 404 appropriée.
Le code corrigé :
header('HTTP/1.0 404 Not Found'); exit(); // To prevent any further PHP processing
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!