2010-02-22 25 views

risposta

16

c'è un altro modo che utilizzo: annullando la classe principale Exception di Codeigniter. In primo luogo assicurarsi che il file di configurazione (system/application/config/config.php) prefix sottoclasse è la seguente $config['subclass_prefix'] = 'MY_';

poi fare un file chiamato MY_Exceptions.php in system/application/librerie. Quindi eseguire l'override della funzione show_404() qui come segue.

Ora Controller errore sarà la pagina di errore, in cui la pagina verrà reindirizzata per errore 404.

0

Per una soluzione semplice, andare al file "error_404.php" in "errori di applicazione//" directory e mettere questo codice all'inizio del file:

header("Location:".base_url()); 

Sarà reindirizzare la tua 404 pagina alla home page.

2

Soluzione semplice.

Crea il tuo errore personalizzato o pagina non trovata nella visualizzazione.

Creare un controller per la pagina di errore. All'interno della funzione di indice caricare la vista della pagina di errore che hai già creato nel passaggio precedente.

Ora, vai alla tua application/config/routes.php

si dovrebbe trovare $route['404_override'] = '';

Suo il '' dire la sua chiamando la pagina di errore predefinita.

Ora posizionare il nome del controller per la pagina di errore.

Funzionerà.

Supponiamo che il controller per la pagina di errore sia 'error'. e la pagina di visualizzazione è 'notfound'.

Quindi, il codice per Error.php regolatore sarà:

<?php 
class Error extends CI_Controller 
{ 
    function index() 
     { 
      $this->load->view('notfound'); 
     } 

} 

Ora, ho sostituito $route['404_override'] = '';-$route['404_override'] = 'error'; in application/config/routes.php.

+0

cos'è questo tizio ............ –

7

personalizzato pagina 404 è creare utilizzando la seguente 3 passi,

Fase 1: prime vie aperte.php in application/config e impostare un nome del controller personalizzato,

$route['404_override'] = 'my404'; //my404 is class name. 

Fase 2: Creare un nuovo controller e scrivere il seguente codice in esso. Il codice è molto facile da capire. Quindi non ho intenzione di spiegare qui,

<?php 
class my404 extends CI_Controller 
{ 
    public function __construct() 
    { 
     parent::__construct(); 
    } 

    public function index() 
    { 
     $this->output->set_status_header('404'); 
     $data['content'] = 'error_404'; // View name 
     $this->load->view('index',$data);//loading in my template 
    } 
    } 
    ?> 

Fase 3: Creare un file di vista con il nome 'error_404.php' con il tuo messaggio personalizzato.

1

Bene si desidera mostrare la pagina 404 personalizzata quando la pagina non viene trovata nel sito Web, basta sostituire il file personalizzato sul file principale che si trova in application/error/error_404.php basta sostituire il file qui e sei a posto dove puoi seguire altri metodo utilizzando routes e il controller personalizzato per l'utente personalizzato 404 page. Ma il modo più semplice e semplice è la sostituzione del file core con il file 404error page personalizzato

0

Primo open routes.php nella cartella application/config e impostare un nome del controller personalizzato.

$route['404_override'] = 'custom404'; //custom404 is class name. 

Creare un nuovo controller e scrivere il seguente codice in esso. Il codice è molto facile da capire. Quindi non ho intenzione di spiegarlo qui.

<?php 
class custom404 extends CI_Controller 
{ 
public function __construct() 
{ 
    parent::__construct(); 
} 

public function index() 
{ 
    $this->output->set_status_header('404'); 
    $data['content'] = 'error_404'; // View name 
    $this->load->view('index',$data);//loading in my template 
} 
} 
?> 

Creare un file di visualizzazione con il nome 'error_404.php' con il tuo messaggio personalizzato. Questo è tutto ciò che devi fare e avrai ora la tua pagina 404 personalizzata.

1

molto molto molto molto più semplice soluzione ...
Basta modificare /application/views/error_404.php con la vostra abitudine 404 pagina :)

2

Non c'è bisogno di creare qualsiasi controller o modificare il codice, piuttosto che modificare un file vista . È appena stato inserito il codice HTML della pagina 404 nel file application/views/errors/html/error_404.php.

Se si desidera utilizzare base_url() o qualsiasi altra funzione CodeIgniter, inizializzare la classe CI_Controller come il codice riportato di seguito.

<?php 
    $ci = new CI_Controller(); 
    $ci =& get_instance(); 
    $ci->load->helper('url'); 
?> 
+0

Questo è stato effettivamente il migliore per me. Non riuscivo a far funzionare il controller 404, ma questo mi ha permesso di accedere ai miei modelli e alle mie opinioni e fare ciò di cui avevo bisogno. Grazie. – dgig

+0

In CI 2.2 puoi semplicemente modificare la tua pagina ma per 3.0 inizializziamo ci_contoller come hai definito (y) –

Problemi correlati