CodeIgniter 404 page
Quand j'entre dans une inexistante url sur mon site, il me ramène à la page 404 qui est spécifié par cette dans routes.php:
$route['404_override'] = 'page/not_found';
De sorte que la conception de la page est comme je l'ai fait dans la vue not_found.php dans la page "annuaire".
Cependant, si j'utilise cette fonction manuellement appliquer une erreur 404:
show_404();
Il me prend par défaut CodeIgniter page 404 avec aucun style:
404 Page Not Found
The page you requested was not found.
Comment puis-je le faire aller à la même page 404 que j'ai spécifié dans le fichier de routes?
source d'informationauteur TK123
Vous devez vous connecter pour publier un commentaire.
Ici toutes les réponses semblent très anciens (à partir de la version 2, au moins) ou très exagéré. Voici un moyen beaucoup plus simple et manipulable, qui ne comprend deux étapes:
Dans application/config/routes.php modifier le champ 404_override à point pour certains de contrôleur:
À l'intérieur du contrôleur spécifié dans votre
routes.php
de mettre en œuvre laindex()
méthode afin qu'il se charge de votre personnalisé erreur 404 vue. Vous pouvez aussi définir des en-têtes de sorte que le navigateur sait que vous êtes de retour d'une erreur 404:Comme le commentaire de code mentionné, être sûr qu'il y a un fichier de vue en application/views/404.php où vous avez réellement votre page 404 personnalisée.
Comme une note de côté, certaines réponses dans cette page vous suggérons de modifier des trucs à l'intérieur de /system, qui est une mauvaise idée parce que quand vous mettez à jour votre version de CodeIgniter, vous pourrez remplacer vos modifications. La solution que j'ai dis ne plaisante pas avec les fichiers de base, ce qui rend votre application beaucoup plus portable et facile à administrer et mettre à jour des résistants.
Utiliser le _remap() fonction. Cela permet de faire quelques très puissant avec des erreurs 404-delà de ce qui est normalement construit à
Tous vos contrôleurs de prolonger
MY_Controller
:Puis dans
routes.php
définir votre 404 est à votre contrôleur principal, à une fonction qui N'EXISTE PAS - c'est à diremais il est PAS
my_404()
fonction d'accueil de l' - cela signifie que TOUS vos 404 passera par le_remap
fonction - vue d'obtenir SEC et d'avoir tous vos 404 logique en un seul endroit.Son jusqu'à vous si vous utilisez
show_404()
ou tout simplementredirect('my_404')
dans votre logique. Si vous utilisezshow_404()
- puis il suffit de modifier les Exceptions de la classe de redirigerPour un changement de comportement de
show_404
vous avez besoin de modifier un fichier à partir de CI de base (system/Core/Common.php
), ce qui n'est pas très pratique pour les mises à jour de fonctionnalités.Au lieu de cela, vous pourriez:
Redirection les utilisateurs à la même place
controller/method
comme spécifié dans $route['404_override'].Vous pouvez créer une bibliothèque personnalisée pour gérer 404 personnalisée et de l'utiliser comme
$libInstance->show_404();
Ou utiliser les vues:
Si vous avez essayé les user_guide vous permettrait de voir qui est le suivant:
Si vous avez besoin de passer le nom du contrôleur en tant que premier paramètre. La deuxième est pour la journalisation être activé ou désactivé.
Vous devez définir le code ci-dessous dans application/config/routes.php
Après la création d'un contrôleur à l'application/contrôleur nommé "page.php"
Ensuite, vous pouvez créer votre propre design pour la page d'erreur 404 dans application/vue nommée "not_found.php"
Ou
CodeIgniter est livré par défaut avec une page d'erreur 404, Mais en utilisant l'option de routage de codeigniter vous pouvez facilement afficher votre page erreur 404 personnalisée à votre nom d'utilisateur.
Pour ce faire il suffit d'aller à fichier de route de votre codeigniter projet et le type en dessous de la ligne
Ici error_404 est un contrôleur de fichier pour afficher la page erreur 404 personnalisée ou tout autre type de page d'erreur dans votre codeigniter projet.
Créer le error_404 fichier et copiez ce code dans ce fichier
Faire Error_page vue de fichier dans votre CodeIgniter dossier de vue et c'est tout, Type toutes les url erronée et maintenant, vous pouvez voir votre page erreur 404 personnalisée.
Si vous avez des doutes, alors vous pouvez suivre cette tutoriel qui a, étape par étape tutoriel pour personnaliser la page d'erreur 404 dans codeigniter
Changement
application/errors/error_404.php
fichier de la page à afficher. C'est le fichier quishow_404()
montre...Cette fonction affichera le message d'erreur 404 fourni à l'aide d'erreur suivant modèle:
La fonction attend la chaîne passée à être le chemin d'accès au fichier de la page qui n'est pas trouvé. Notez que CodeIgniter affiche automatiquement 404 messages si les contrôleurs ne sont pas trouvés.
CodeIgniter connecte automatiquement tout
show_404()
appels. Réglage de la deuxième paramètre facultatif àFALSE
ignorer l'enregistrement.*