"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi mon en-tête PHP 404 génère-t-il une page vierge ?

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

Publié le 2024-11-13
Parcourir:700

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 une erreur 404 En-tête Introuvable, c'est parce que :

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

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

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

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

  1. L'utilisateur demande un URI.
  2. Le serveur Web recherche 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 l'erreur page.

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 incorporer 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.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3