Afficher une vue pour l'erreur 404 dans CodeIgniter
La CodeIgniter est très simple défaut d'erreur 404 message:
404 Page Not Found
The page you requested was not found.
Au lieu d'utiliser ce message d'erreur sur la page totalement vierge, je veux enrouler ce message dans mon en-tête et pied de page vue, de sorte que le message d'erreur semblable de regarder les autres pages.
Pour cela, j'ai créé une erreur de point de vue? Par exemple:
my404_view.php
<? $this->load->view('header'); ?>
404 Page Not Found
The page you requested was not found.
<? $this->load->view('footer'); ?>
Maintenant, Comment puis-je utiliser ce my404_view.php
en tant que par défaut pour afficher 404 messages au lieu d'utiliser le CodeIgniter message d'erreur par défaut.
source d'informationauteur Roman
Vous devez vous connecter pour publier un commentaire.
Vous devriez changer votre routes.php. Par exemple:
dans application/config/routes.php
dans application/controllers/welcome.php
Et ce qui devrait être suffisant dans la version actuelle de l'IC.
Y compris les en-têtes et pieds de page par défaut dans la page d'erreur 404 semble être un problème commun pour CodeIgniter utilisateurs. Je voudrais ajouter ce lien: Simon Emm commentaires à http://www.simonemms.com/2011/05/06/codeigniters-404-override-problem/ parce qu'il décrit le problème aussi clairement.
J'ai essayé la suggestion à http://maestric.com/doc/php/codeigniter_404 et joué un peu avec Simon Emm idées, et d'autres, mais tout ne peut pas les mettre en œuvre. Je suis un peu un novice en PHP et CodeIgniter, de sorte que peut-être à cause de l'ignorance. Cela dit, il est difficile de s'assurer que vous placez les suggestions de sous-classes dans les bons endroits et à configurer, par exemple, routes.php correctement. Après 3 jours d'essayer les différentes plutôt des idées complexes, il m'est apparu que je pouvais utiliser une instruction inclure par défaut dans la page d'erreur 404. La seule difficulté a été de trouver le chemin pour passer à l'instruction include.
Dans /system/core/Exceptions.php ligne 146, j'ai trouvé le CodeIgniter les développeurs utilisent APPPATH. Il vous suffit ensuite d'ajouter le chemin d'accès à l'en-tête et pied de page des pages que vous souhaitez inclure.
Mon nouveau par défaut la page d'erreur 404 ressemble maintenant à ceci:
Cela semble une bien meilleure solution pour moi que d'essayer de changer le cours de base, dans CodeIgniter.
Il y a un peu de renseignements sur cette.
http://maestric.com/doc/php/codeigniter_404
http://www.nickyeoman.com/blog/apache/90-htaccess-404-page
http://hasitha.posterous.com/customising-error-pages-on-codeigniter (archivé)