Codeigniter, parte 3: Página principal y error 404

Cuando accedimos por primera vez a nuestro proyecto, vimos por pantalla la respuesta del controlador Welcome, ésta es la acción que viene por defecto en Codeigniter. Toda aplicación web tiene una página principal que es la que se accede en el raíz.

Ahora bien, seguramente al iniciar un proyecto queramos definir cuál sería la acción de nuestra página principal. Para ello vamos a crear un nuevo controlador. Dentro de application -> controllers vamos a crear un controlador, que sería nuestro controlador principal. Yo le pondré como nombre principal.php, éste tendrá el siguiente código:

<?php
if (!defined('BASEPATH'))
   exit('No direct script access allowed');
class Principal extends CI_Controller { 
   public function index(){
      echo 'Bienvenido a la página principal.';
   }
}

Ahora para indicarle a Codeigniter que ésta acción será nuestra página principal debemos ir a application -> config -> routes.php, y vamos a buscar la siguiente línea:

$route['default_controller'] = "welcome";

Como vemos, por defecto el controlador inicial será welcome, ésa es la razón por la cual se accede al mismo ingresar a la url de la página inicial de nuestro proyecto:

https://localhost/ci

Para cambiar este controlador vamos a ingresar como página principal el controlador principal:

$route['default_controller'] = "principal";

 

Error 404

Al ingresar a una url que no existe, por defecto aparecerá por pantalla una respuesta mostrando un error 404, que significa página no encontrada. Nosotros podemos personalizar esta pantalla de error con Codeigniter de forma muy sencilla. Para ello haremos un proceso similar al que hicimos para la página principal.

Primero vamos a crear un controlador como siempre en application -> controllers, yo voy a llamarlo simplemente: error404.php. Tendrá el siguiente código:

<?php
if (!defined('BASEPATH'))
   exit('No direct script access allowed');
class Error404 extends CI_Controller { 
   public function index(){
      echo 'Error 404. Usted está intentando acceder a una página que no existe.';
   }
}

Ahora, para definir esta acción como nuestra página de error 404, vamos a ir a application -> config -> routes.php, y vamos a buscar la siguiente línea:

$route['404_override'] = '';

El valor de ésta será el nombre del controlador:

$route['404_override'] = 'error404';

Ahora si por ejemplo accedemos a una página que no existe deberíamos ver la acción del error 404, por ejemplo:

https://localhost/ci/tito

 

Anterior: Codeigniter, parte 2: Eliminar index.php de la url

Siguiente: Codeigniter, parte 4: Controladores

 

Redes sociables

    4 Replies to “Codeigniter, parte 3: Página principal y error 404”

        1. Tengo un sitio echo en una version de codeigniter antigua y ahora acabo de rehacer el sitio en una nueva version pero por instrucciones tengo que subir el proyecto dentro de una subcarpeta, y solo lo que he logrado hacer es mostrar el nuevo home page con la ruta de la subcarpeta pero al querer navegar del sitio me envía error 404.
          Del nuevo proyecto ya modifiqué la base url que apunta a la carpeta pero sigo sin poder navegar a todo lo demás.
          Entonces quiero saber como puedo hacer que las dos convivan. Yo pensaba en que tiene algo que ver el htaccess y el index.php del nuevo proyecto pero no logro solucionarlo.

    Deja un comentario

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    *