====== Page de maintenance / Page d'erreur ======
Pour rediriger tout le site vers une page de maintenance excepté la partie admin
Dans le fichier de **routes.php** on rajoute ce code en haut du fichier.
// Mode maintenance
if(Parametre::get('maintenance')==0){
Route::get('maintenance', 'HomeController@maintenance');
Route::any('{all}', function(){
return Redirect::to('maintenance',302);
})->where('all', '^(?!admin|connexion|deconnexion)(.*)');
}
De cette façon on peut mettre un code http 302 pour dire que toutes les pages ont été redirigé temporairement sur une page de maintenance au code http 503 Service unavailable.
Dans le controller
public function maintenance(){
return Response::view('maintenance', array(), 503);
}
===== Page d'erreur =====
Lors d'une exception, le fameux **Whoops! There was an error** apparait ce qui n'est pas terrible.
Repérez le code suivant dans le fichier **app/start/global.php**
App::error(function(Exception $exception, $code)
{
Log::error($exception);
});
Et modifiez le comme suit pour par exemple afficher la page de maintenance en cas d'erreur dans le code en mode prod
App::error(function(Exception $exception, $code)
{
Log::error($exception);
if(!Config::get('app.debug'))
return Response::view('maintenance', array(), 500);
});