Question

Sur mon site Web, website.com/downloads se connecte à website.com/index.php?page=downloads (avec la réécriture d'apache). J'ai un ensemble de pages d'erreur 404 non trouvé personnalisé. Si je fais website.com/dkfjf/fdf, cela va à l'erreur 404, mais si je fais website.com/something, ça va à index.php? Page = quelque chose, alors dans mon index.php, comment puis-je faites-le simplement passer à l'erreur 404, après avoir déterminé qu'il n'y a pas de page quelque chose ? Parce que maintenant, je charge juste la page d'erreur 404 dans la div principale (comme toutes les autres pages), mais elle est incohérente (par exemple, elle affiche toujours website.com/soemthing dans la barre d'adresse et il y a d'autres problèmes), et je viens vouloir le faire naviguer à l'erreur 404. Comment puis-je faire cela?

EDIT: cela a fonctionné:

echo '<meta http-equiv="refresh" content="0; url = /error" />';

(mywebsite.com/error réécrit en index.php? page = error, qui est ma page d'erreur 404). Est-ce une mauvaise approche?

Était-ce utile?

La solution

Utilisez la en-tête pour envoyer le code d'état correct:

header(

Utilisez la en-tête pour envoyer le code d'état correct:

<*>

Ensuite, vous pouvez envoyer votre document d'erreur avec readfile s'il s'agit d'un fichier statique. ou avec include s'il s'agit d'un fichier PHP.

SERVER['SERVER_PROTOCOL'].' 404 Not Found', true, 404);

Ensuite, vous pouvez envoyer votre document d'erreur avec readfile s'il s'agit d'un fichier statique. ou avec include s'il s'agit d'un fichier PHP.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top