【问题标题】:Launch 503 status for all routes with laravel routes.php file使用 laravel routes.php 文件为所有路由启动 503 状态
【发布时间】:2016-08-03 06:32:30
【问题描述】:

我想在 Laravel 5.2 中为我的所有路线启动一个状态码 503。

我不能使用命令'php artisan down'。

所以我想在我的文件 routes.php 中手动完成。

我尝试了这个,但不起作用:

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

这是完整的 route.php 文件:

<?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' => 'WebController@'.$key_underscored ]);       
            Route::get('/'.$value[$lang].'/{seo_name}/{id}',['as' =>$key_underscored.'_seo_'.$lang, 'uses' => 'WebController@'.$key_underscored]);
            Route::get('/404-error', ['as' => 'error404'.'_'.$lang, 'uses' => 'WebController@error404']);
            Route::get('/500-error', ['as' => 'error500'.'_'.$lang, 'uses' => 'WebController@error500']);
            Route::post('shipping-info-post', ['as' => 'shipping_info_post'.'_'.$lang, 'uses' => 'WebController@shipping_info_post']);
            Route::post('payment-post', ['as' => 'payment_post'.'_'.$lang, 'uses' => 'WebController@payment_post']);
            Route::post('cart-post', ['as' => 'cart_post'.'_'.$lang, 'uses' => 'WebController@cart_post']);
        }
        else
        {   
            //echo '/'.$lang.'/'.$value[$lang] . ' as '.$key_underscored.'_'.$lang.' uses '. 'WebController@'.$key_underscored.'<br>';
            Route::any('/'.$lang.'/'.$value[$lang],['as' => $key_underscored.'_'.$lang, 'uses' => 'WebController@'.$key_underscored]);
            Route::get('/'.$lang.'/'.$value[$lang].'/{seo_name}/{id}',['as' =>$key_underscored.'_seo_'.$lang, 'uses' => 'WebController@'.$key_underscored]);

            // generic (not optimized for SEO)
            Route::get('/'.$lang.'/404-error', ['as' => 'error404_'.$lang, 'uses' => 'WebController@error404']);
            Route::get('/'.$lang.'/500-error', ['as' => 'error500_'.$lang, 'uses' => 'WebController@error500']);
            Route::post('/'.$lang.'/shipping-info-post', ['as' => 'shipping_info_post_'.$lang, 'uses' => 'WebController@shipping_info_post']);
            Route::post('/'.$lang.'/payment-post', ['as' => 'payment_post_'.$lang, 'uses' => 'WebController@payment_post']);
            Route::post('/'.$lang.'/cart-post', ['as' => 'cart_post_'.$lang, 'uses' => 'WebController@cart_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' => 'WebController@index']);

如何在我网站的所有路由上启动 503 状态?

【问题讨论】:

    标签: php laravel laravel-5 laravel-5.2


    【解决方案1】:

    只需在以下文件夹中添加一个名为 down 的空文件即可:/storage/framework/

    这基本上就是php artisan down/vendor/laravel/framework/src/Illuminate/Foundation/Console/DownCommand.php 中所做的事情:)

    【讨论】:

      【解决方案2】:
      public function handle($request, Closure $next)
      {
          return response()->view('503',[], 500);
      }
      

      我们必须在视图目录中创建 503.blade.php 页面来处理请求。

      【讨论】:

        【解决方案3】:

        创建一个返回 503middleware 并将其作为一个组应用于您的路线。

        【讨论】:

        • Laravel docs : 中间件,当你尝试实现这个时,请随时询问 oyu 是否有任何问题
        猜你喜欢
        • 1970-01-01
        • 2015-04-07
        • 2018-01-21
        • 2014-06-08
        • 2017-05-03
        • 2015-07-19
        • 2016-07-05
        • 1970-01-01
        • 2015-12-09
        相关资源
        最近更新 更多