2016-08-03 24 views
2

Ich möchte einen Statuscode 503 für alle meine Routen in Laravel 5.2 starten.Start 503 Status für alle Routen mit Laravel routes.php Datei

Ich kann den Befehl 'php artisan down' nicht verwenden.

Also ich möchte es manuell in meiner Datei routes.php tun.

ich mit diesem versuchen, aber nicht funktioniert:

Route::any('/',function(){#this code not work for me 
    dd('not arrive here'); 
    return abort(503); 
}); 

Dies ist die komplette route.php Datei:

<?php 


Route::any('/',function(){#this code not work for me 
    dd('not arrive here'); 
    return abort(503); 
}); 

// extra langs 
$conf = Config::get('app.current_site_config'); 
$langs = []; 
$langs[] = $conf['lng_default']; 

if (!empty($conf['lng_extra'])) 
    $langs = array_merge($conf['lng_extra'],$langs); 

$prefix = false; 

if (count($langs) > 1) 
    $prefix = true; 

$pages = Config::get('app.web_config.lang_url'); 

foreach($langs as $lang) 
{  
    foreach($pages as $key=>$value) 
    {  
     $key_underscored = str_replace('-','_',$key); 

     if ($prefix == false) 
     {   
      //echo $key_underscored.'_'.$lang.'<br>'; 
      Route::any('/'.$value[$lang],['as' => $key_underscored.'_'.$lang, 'uses' => '[email protected]'.$key_underscored ]);  
      Route::get('/'.$value[$lang].'/{seo_name}/{id}',['as' =>$key_underscored.'_seo_'.$lang, 'uses' => '[email protected]'.$key_underscored]); 
      Route::get('/404-error', ['as' => 'error404'.'_'.$lang, 'uses' => '[email protected]']); 
      Route::get('/500-error', ['as' => 'error500'.'_'.$lang, 'uses' => '[email protected]']); 
      Route::post('shipping-info-post', ['as' => 'shipping_info_post'.'_'.$lang, 'uses' => '[email protected]_info_post']); 
      Route::post('payment-post', ['as' => 'payment_post'.'_'.$lang, 'uses' => '[email protected]_post']); 
      Route::post('cart-post', ['as' => 'cart_post'.'_'.$lang, 'uses' => '[email protected]_post']); 
     } 
     else 
     { 
      //echo '/'.$lang.'/'.$value[$lang] . ' as '.$key_underscored.'_'.$lang.' uses '. '[email protected]'.$key_underscored.'<br>'; 
      Route::any('/'.$lang.'/'.$value[$lang],['as' => $key_underscored.'_'.$lang, 'uses' => '[email protected]'.$key_underscored]); 
      Route::get('/'.$lang.'/'.$value[$lang].'/{seo_name}/{id}',['as' =>$key_underscored.'_seo_'.$lang, 'uses' => '[email protected]'.$key_underscored]); 

      // generic (not optimized for SEO) 
      Route::get('/'.$lang.'/404-error', ['as' => 'error404_'.$lang, 'uses' => '[email protected]']); 
      Route::get('/'.$lang.'/500-error', ['as' => 'error500_'.$lang, 'uses' => '[email protected]']); 
      Route::post('/'.$lang.'/shipping-info-post', ['as' => 'shipping_info_post_'.$lang, 'uses' => '[email protected]_info_post']); 
      Route::post('/'.$lang.'/payment-post', ['as' => 'payment_post_'.$lang, 'uses' => '[email protected]_post']); 
      Route::post('/'.$lang.'/cart-post', ['as' => 'cart_post_'.$lang, 'uses' => '[email protected]_post']); 
     }  
    } 
} 

if (count($langs) > 1) 
{ 
    Route::get('/',function(){ 
     header('Location: '.route('index_'.Config::get('app.locale')).'/'); 
     exit; 
    }); 
} 
else 
    Route::get('/', ['as' => 'index_'.$langs[0], 'uses' => '[email protected]']); 

Wie kann ich die 503 Zustand über alle Routen von meiner Seite starten können?

Antwort

0

Erstellen Sie eine middleware, die eine 503 zurückgeben und als eine Gruppe auf Ihre Routen anwenden.

+0

Wie kann dies tun? –

+0

Laravel docs: Middleware, zögern Sie nicht zu fragen, ob Sie Probleme haben, wenn Sie versuchen, dies zu erreichen – Vuldo

0

Fügen Sie einfach eine leere Datei namens down in den folgenden Ordner und Sie sind gut zu gehen: /storage/framework/.

Das ist im Grunde, was php artisan down ist tut in /vendor/laravel/framework/src/Illuminate/Foundation/Console/DownCommand.php :)