1

インストール関連のルート以外のルートを実行する前に、アプリケーションがインストールされているかどうかを確認するフィルターを実行したいので、無限のリダイレクト ループが発生します。

これが私がやるべきことです:

Route::filter('before', function()
{
    if (!User::isInstalled()) {
        return Redirect::to_route('install'); // infinite redirect loop
    }
});

このフィルターに例外を追加する方法はありますか? または、現在魔女ルートが実行されていることを確認する方法はありますか? 何か案が?ありがとう

4

2 に答える 2

2

これを試して:

Route::filter('before', function()
{
    if ( ! User::isInstalled() and Request::segment(1) !== 'install') {
        return Redirect::to_route('install');
    }
});
于 2013-02-05T08:53:24.273 に答える
0

解決策になる可能性のあるlaravel api、Laravel\Routing\Routeからこのメソッドを見つけました

Route::filter('before', function()
{
    if ( ! Application::isInstalled() && ! URI::is('install*') ) {
        return Redirect::to_route('install');
    }
});

しかし、フィルターの前にいくつかのルートを強制的に使用しないようにするためのより良い方法であるべきだと思います。bstrahija
のおかげで

于 2013-02-05T13:24:33.893 に答える