Outils pour utilisateurs

Outils du site


devweb:laravel:maintenance (lu 927 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
devweb:laravel:maintenance [26-08-2014 23:57]
edmc73 créée
devweb:laravel:maintenance [23-09-2014 23:24] (Version actuelle)
edmc73
Ligne 1: Ligne 1:
-====== Page de maintenance ======+====== Page de maintenance / Page d'erreur ======
  
 Pour rediriger tout le site vers une page de maintenance excepté la partie admin Pour rediriger tout le site vers une page de maintenance excepté la partie admin
Ligne 10: Ligne 10:
  
  Route::any('{all}', function(){  Route::any('{all}', function(){
- return Redirect::to('maintenance');+ return Redirect::to('maintenance',302);
  })->where('all', '^(?!admin|connexion|deconnexion)(.*)');  })->where('all', '^(?!admin|connexion|deconnexion)(.*)');
  
 } }
 </code> </code>
-De cette façcon on peut mettre un code http 302 pour dire que la page toutes les pages ont été redirigé temporairement.+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 Dans le controller
 <code php> <code php>
  public function maintenance(){  public function maintenance(){
- return Response::view('maintenance', array(), 302);+ return Response::view('maintenance', array(), 503);
  }  }
 </code> </code>
  
 +===== 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**
 +<code php>
 +App::error(function(Exception $exception, $code)
 +{
 + Log::error($exception);
 +});
 +</code>
 +
 +Et modifiez le comme suit pour par exemple afficher la page de maintenance en cas d'erreur dans le code en mode prod
 +<code php>
 +App::error(function(Exception $exception, $code)
 +{
 + Log::error($exception);
 + if(!Config::get('app.debug'))
 + return Response::view('maintenance', array(), 500);
 +});
 +</code>
devweb/laravel/maintenance.1409090276.txt.gz · Dernière modification: 26-08-2014 23:57 de edmc73