使用相同 uri 的多个路由


Multiple routes which uses the same uri

是否可以在 laravel 路由中为同一 uri 设置多个路由? 示例:/home 基于用户是访客还是登录等?

我尝试了一些使用过滤器,但只是重定向创建一个循环,如果可以编写我的过滤器来支持这一点,我将如何?

我需要这个,因为登录页面和登录页面应该位于同一个 uri。

不知道有更好的解决方案,但我认为你可以这样做:

if(Auth::check()){
   Route::get('route-for-loggedin');
} else {
   Route::get('route-for-NOT-loggedin');
}

我会在控制器中执行此操作。

Route::get('login', 'AwesomeController@login');

然后在您的控制器中

public function login()
{
    if ($user = Auth::user()) {
        return View::make('view', [ 'user' => $user ]);
    }
    return View::make('notLoggedInView');
}