Sres. Bonitos, Estoy usando Codeigniter para crear un blog. Es posible que necesite una forma de redirigir un error 404 a una página 404 personalizada. Al igual que la página 404 de Abduzeedo.com. ¿Es posible controlar esto usando rutas? ¿O debería usar controladores para dirigirlo a otra vista? ¡Muchas gracias!¿Cómo puedo redirigir un error 404 en una página 404 personalizada usando Codeigniter?
Respuesta
hay otra forma que uso: anulando la clase principal de excepciones de Codeigniter. En primer lugar asegúrese de que su archivo de configuración (system/application/config/config.php) prefijo subclase es el siguiente $config['subclass_prefix'] = 'MY_';
a continuación, hacer un archivo llamado MY_Exceptions.php en system/application/libraries. A continuación, anule la función show_404() aquí de la siguiente manera.
class MY_Exceptions extends CI_Exceptions{
function MY_Exceptions(){
parent::CI_Exceptions();
}
function show_404($page=''){
$this->config =& get_config();
$base_url = $this->config['base_url'];
$_SESSION['error_message'] = 'Error message';
header("location: ".$base_url.'error.html');
exit;
}
}
Ahora el controlador de error será su página de error, donde la página se redirigirá a error 404.
Para una solución simple, ir a su archivo "error_404.php" en "/ application/errores" directorio y poner este código al principio del archivo:
header("Location:".base_url());
Se va a redirigir a sus 404 página a la página de inicio.
Solución simple.
Cree su error personalizado o página no encontrada en la vista.
Cree un controlador para la página de error. Dentro de la función de índice cargue la vista de la página de error que ya creó en el paso anterior.
Ahora, vaya a su application/config/routes.php
que debe encontrar $route['404_override'] = '';
Es el ''
significa su llamando a la página de error por defecto.
Ahora coloque el nombre de su controlador para la página de error.
Funcionará.
Supongamos que mi controlador para la página de error es 'error'
. y la página de vista es 'notfound'
.
Por lo tanto, el código de Error.php
controlador será:
<?php
class Error extends CI_Controller
{
function index()
{
$this->load->view('notfound');
}
}
Ahora, reemplazado $route['404_override'] = '';
-$route['404_override'] = 'error';
en application/config/routes.php
.
Custom 404 página es crear mediante el uso de la siguiente 3 pasos,
Paso 1: En primer lugar rutas abiertas.php en application/config y establecer un nombre de controlador personalizado,
$route['404_override'] = 'my404'; //my404 is class name.
Paso 2: Crear un nuevo controlador y escribir el siguiente código en él. El código es muy fácil de entender. Así que no voy a explicar aquí,
<?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
}
}
?>
Paso 3: Crear un archivo de vista con el nombre de 'error_404.php' con su mensaje personalizado.
Bueno, quiere mostrar su página 404 personalizada cuando la página no se encuentra en su sitio web, simplemente reemplace su archivo personalizado en el archivo principal que se encuentra en application/error/error_404.php
, simplemente reemplace su archivo aquí y está listo para seguir donde puede seguir otro método utilizando routes
y controlador personalizado para usted personalizado 404 page
. Pero la forma más rápida y sencilla es reemplazar el archivo principal con el archivo personalizado 404error page
Primero abra routes.php en la carpeta application/config y establezca un nombre de controlador personalizado.
$route['404_override'] = 'custom404'; //custom404 is class name.
Crea un nuevo controlador y escribe el siguiente código en él. El código es muy fácil de entender. Entonces no voy a explicarlo aquí.
<?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
}
}
?>
Cree un archivo de vista con el nombre 'error_404.php' con su mensaje personalizado. Eso es todo lo que necesita hacer y tendrá su página 404 personalizada ahora.
soluciónmuy muy muy muy sencilla ... más
sólo editar /application/views/error_404.php
con su página 404 personalizada :)
que no es necesario para crear cualquier controlador o modificar el código, en lugar de modificar un archivo de vista . Acabo de colocar el código HTML de 404 páginas en el archivo application/views/errors/html/error_404.php
.
Si desea utilizar base_url() o cualquier otra función CodeIgniter, inicialice la clase CI_Controller como el siguiente código.
<?php
$ci = new CI_Controller();
$ci =& get_instance();
$ci->load->helper('url');
?>
Este fue en realidad el mejor para mí. No pude hacer funcionar el controlador 404, pero esto me permitió acceder a mis modelos y mis puntos de vista y hacer lo que necesitaba. Gracias. – dgig
En CI 2.2 puede simplemente editar su página pero para 3.0 inicializamos ci_contoller como definió (y) –
- 1. CodeIgniter página 404
- 2. ¿Redirigir a la página 404 o mostrar el mensaje 404?
- 3. Codeigniter & PHP - forzando un 404?
- 4. ¿Cómo devolver 'propio' página personalizada 404?
- 5. ¿Cómo creo una página 404?
- 6. RoutingError Página 404
- 7. Personalizado 404 usando Spring DispatcherServlet
- 8. ¿Cómo creo un controlador 404 de errores decente para CodeIgniter?
- 9. ¿Redirigir a la página 404 incorporada de Apache con mod_rewrite?
- 10. 404 Redirección personalizada
- 11. Ejecutando código para una página personalizada de Django 404
- 12. Error básico de Rails 404 Página
- 13. CodeIgniter 404 Página no encontrada, pero ¿por qué?
- 14. CodeIgniter Función de llamada 404
- 15. Posible lanzar un error 404 dentro de una página ASP.Net?
- 16. proxy nginx y 404 redirigir
- 17. 404 página response.redirect vs server.transfer
- 18. ASP.NET/Web.config: customErrors redirigir sólo en un 404
- 19. Cómo "arrojar" error JSF2 404?
- 20. YII cómo manejar la página de error 404 personalizada junto con otras páginas de error
- 21. Configurar página 404 personalizada en IIS 7 para páginas HTML
- 22. error 404 en la configuración personalizada de Magento en admin
- 23. crear una página de error 404 personalizada en php en localhost
- 24. 404 Error ASP.NET MVC 3
- 25. Cómo mostrar personalizado página de error 404 - Symfony2
- 26. Redirecciona a la página 404 programáticamente usando asp.net MVC
- 27. OpenRDF Sesame - error 404
- 28. Apache Tomcat 404 Error
- 29. En Kohana, ¿puede desencadenar un error 404?
- 30. error 404 con wordpress ssl
lo que es este tio ............ –