Sto utilizzando il framework di Laravel 4 e ho definito un sacco di percorsi, ora mi chiedo per tutti gli URL non definiti, come indirizzarli a 404 pagine?Laravel percorso predefinito a 404 pagina
risposta
percorsi non definiti fuochi eccezione Symfony\Component\HttpKernel\Exception\NotFoundHttpException
quale è possibile gestire in app/start/global.php utilizzando il metodo App :: errore() in questo modo:
/**
* 404 Errors
*/
App::error(function(\Symfony\Component\HttpKernel\Exception\NotFoundHttpException $exception, $code)
{
// handle the exception and show view or redirect to a diff route
return View::make('errors.404');
});
Il metodo consigliato per la gestione degli errori può essere trovato nella documentazione laravel:
http://laravel.com/docs/4.2/errors#handling-404-errors
utilizzare la funzione App :: mancante() nel file di avvio/global.php nel seguente modo:
App::missing(function($exception)
{
return Response::view('errors.missing', array(), 404);
});
ho aggiornato il mio laravel 4 codebase a laravel 5, per chiunque abbia a cuore:
App::missing(function($exception) {...});
non è più disponibile in laravel 5, al fine di restituire la vista 404 per tutti i percorsi inesistenti , provare a mettere quanto segue in app/HTTP/Kernel.php:
public function handle($request) {
try {
return parent::handle($request);
}
catch (Exception $e) {
echo \View::make('frontend_pages.page_404');
exit;
// throw $e;
}
}
secondo il funzionario documentation
si può semplicemente aggiungere un file in: re fonti/viste/errori/ chiamato 404.blade.php con le informazioni che si desidera visualizzare su un errore 404.
Questa documentazione è per Laravel 5, ma sì hai ragione e di recente ho aggiornato il mio progetto basato su Laravel 4.2 su Laravel 5. Ora cosa succede se voglio avere 2 404 pagine, una per i dispositivi mobili e l'altra per i browser desktop ? – dulan
Tecnicamente non mi piacerebbe reindirizzare a una rotta, basta visualizzare una pagina 404 quando si raggiunge una rotta 404. – bgallagh3r
Sì Questo è quello che intendo fare, senza il reindirizzamento, basta mostrare la pagina 404 e il tuo è quello giusto, grazie! – dulan