Pourquoi mon en-tête PHP 404 génère-t-il une page vierge ?

Patricia Arquette
Libérer: 2024-11-14 20:18:02
original
467 Les gens l'ont consulté

Why Does My PHP 404 Header Result in a Blank Page?

Pourquoi l'envoi d'une erreur 404 en PHP peut ne pas fonctionner

En PHP, si vous rencontrez une page vide malgré l'utilisation de code pour définir un 404 En-tête Not Found, c'est parce que :

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

Bien que techniquement correct, il manque à ce code une étape cruciale : PHP est responsable de la sortie de la page d'erreur 404.

Comment sont généralement les 404 Géré

Normalement, les erreurs 404 sont gérées par le serveur Web :

  1. L'utilisateur demande un URI.
  2. Le serveur Web vérifie le fichier à cet URI.
  3. Si le fichier n'est pas trouvé, le serveur Web envoie un en-tête 404 et affiche une page d'erreur 404.

Le rôle de PHP dans la gestion des erreurs

Cependant, lorsqu'une page PHP est exécutée, le serveur Web passe le contrôle à PHP avant de pouvoir gérer un 404.

  1. L'utilisateur demande un URI.
  2. Le serveur Web détecte une page PHP et passe le contrôle à PHP.
  3. PHP vérifie le fichier et découvre qu'il n'est pas trouvé.
  4. PHP envoie un en-tête 404 mais devient désormais responsable de l'affichage de la page d'erreur.

Dans ce scénario, PHP n'a pas la capacité d'afficher une page 404 personnalisée, ce qui entraîne une page vierge. Pour résoudre ce problème, vous pouvez intégrer la page 404 souhaitée dans le code PHP ou rediriger vers une page 404 dédiée qui existe en dehors de l'application PHP.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal