打开所有的路由都显示重定向次过过多 这个是为什么?
Route::group([],function(){
Route::get('/', function () {
return view('shouye');
});
Route::get('/123', array('as'=>'list','uses'=>function () {
return route('list');
}));
Route::get('/456', ['middleware'=>'login','uses'=>function () {
return 456;
}]);
});
<?php
namespace App\Http\Middleware;
use Closure;
class LoginMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if(!session('uid')){
return redirect('/123');
}
return $next($request);
}
}
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\App\Http\Middleware\LoginMiddleware::class,
];
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'login'=>\App\Http\Middleware\LoginMiddleware::class,
];
楼主把
LoginMiddleware
这个中间件加在了Http/Kernel.php
文件中的$middleware
变量中,意味每次请求都会经过这个路由;这样每次都会重定义向
/123
这个路由上;而/123
自身这个请求,也需要通过LoginMiddleware
这个中间件,自然就是死循环了;