Php Laravel 5重定向循环错误
我试图做一个登录和管理脚本,问题是我有一个重定向循环,我不知道为什么 我需要登录用户,并且可以在Php Laravel 5重定向循环错误,php,redirect,laravel-5,infinite-loop,middleware,Php,Redirect,Laravel 5,Infinite Loop,Middleware,我试图做一个登录和管理脚本,问题是我有一个重定向循环,我不知道为什么 我需要登录用户,并且可以在/路径中,而不是/home 如果更改则返回新的重定向响应(url('/')to返回新的重定向响应(url('/anotherpage')它可以工作,但我想成为/ 路线: Route::get('/', [ 'as' => 'home', 'uses' => 'HomeController@index' ]); // Tutorials Route
/
路径中,而不是/home
如果更改则返回新的重定向响应(url('/')
to返回新的重定向响应(url('/anotherpage')代码>它可以工作,但我想成为/
路线:
Route::get('/', [
'as' => 'home', 'uses' => 'HomeController@index'
]);
// Tutorials Routes
Route::get('/tutorials', 'HomeController@tutorials');
Route::get('/tutorials/{category?}', 'HomeController@tutorialsCategory');
Route::get('/tutorials/{category?}/{lesson?}', 'HomeController@tutorialsLesson');
// Courses and Series Routes
Route::get('/courses-and-series', 'HomeController@coursesandseries');
// Admin Routes
Route::group(['middleware' => 'App\Http\Middleware\AdminMiddleware'], function()
{
Route::get('/admin', function()
{
return 'Is admin';
});
});
Route::controllers([
'auth' => 'Auth\AuthController',
'password' => 'Auth\PasswordController',
]);
public function handle($request, Closure $next)
{
if (Auth::user()->type != 'Admin')
{
return abort(404);
}
return $next($request);
}
public function handle($request, Closure $next)
{
if ($this->auth->check())
{
return new RedirectResponse(url('/'));
}
return $next($request);
}
class HomeController extends Controller {
public function __construct()
{
$this->middleware('guest');
}
public function index()
{
return view('home');
}
public function tutorials()
{
return view('pages.tutorials');
}
public function tutorialsCategory()
{
return view('pages.tutorials');
}
public function tutorialsLesson()
{
return view('pages.single');
}
public function coursesandseries()
{
return view('pages.coursesandseries');
}
public function single()
{
return view('pages.single');
}
}
管理中间件:
Route::get('/', [
'as' => 'home', 'uses' => 'HomeController@index'
]);
// Tutorials Routes
Route::get('/tutorials', 'HomeController@tutorials');
Route::get('/tutorials/{category?}', 'HomeController@tutorialsCategory');
Route::get('/tutorials/{category?}/{lesson?}', 'HomeController@tutorialsLesson');
// Courses and Series Routes
Route::get('/courses-and-series', 'HomeController@coursesandseries');
// Admin Routes
Route::group(['middleware' => 'App\Http\Middleware\AdminMiddleware'], function()
{
Route::get('/admin', function()
{
return 'Is admin';
});
});
Route::controllers([
'auth' => 'Auth\AuthController',
'password' => 'Auth\PasswordController',
]);
public function handle($request, Closure $next)
{
if (Auth::user()->type != 'Admin')
{
return abort(404);
}
return $next($request);
}
public function handle($request, Closure $next)
{
if ($this->auth->check())
{
return new RedirectResponse(url('/'));
}
return $next($request);
}
class HomeController extends Controller {
public function __construct()
{
$this->middleware('guest');
}
public function index()
{
return view('home');
}
public function tutorials()
{
return view('pages.tutorials');
}
public function tutorialsCategory()
{
return view('pages.tutorials');
}
public function tutorialsLesson()
{
return view('pages.single');
}
public function coursesandseries()
{
return view('pages.coursesandseries');
}
public function single()
{
return view('pages.single');
}
}
重定向验证:
Route::get('/', [
'as' => 'home', 'uses' => 'HomeController@index'
]);
// Tutorials Routes
Route::get('/tutorials', 'HomeController@tutorials');
Route::get('/tutorials/{category?}', 'HomeController@tutorialsCategory');
Route::get('/tutorials/{category?}/{lesson?}', 'HomeController@tutorialsLesson');
// Courses and Series Routes
Route::get('/courses-and-series', 'HomeController@coursesandseries');
// Admin Routes
Route::group(['middleware' => 'App\Http\Middleware\AdminMiddleware'], function()
{
Route::get('/admin', function()
{
return 'Is admin';
});
});
Route::controllers([
'auth' => 'Auth\AuthController',
'password' => 'Auth\PasswordController',
]);
public function handle($request, Closure $next)
{
if (Auth::user()->type != 'Admin')
{
return abort(404);
}
return $next($request);
}
public function handle($request, Closure $next)
{
if ($this->auth->check())
{
return new RedirectResponse(url('/'));
}
return $next($request);
}
class HomeController extends Controller {
public function __construct()
{
$this->middleware('guest');
}
public function index()
{
return view('home');
}
public function tutorials()
{
return view('pages.tutorials');
}
public function tutorialsCategory()
{
return view('pages.tutorials');
}
public function tutorialsLesson()
{
return view('pages.single');
}
public function coursesandseries()
{
return view('pages.coursesandseries');
}
public function single()
{
return view('pages.single');
}
}
主控台:
Route::get('/', [
'as' => 'home', 'uses' => 'HomeController@index'
]);
// Tutorials Routes
Route::get('/tutorials', 'HomeController@tutorials');
Route::get('/tutorials/{category?}', 'HomeController@tutorialsCategory');
Route::get('/tutorials/{category?}/{lesson?}', 'HomeController@tutorialsLesson');
// Courses and Series Routes
Route::get('/courses-and-series', 'HomeController@coursesandseries');
// Admin Routes
Route::group(['middleware' => 'App\Http\Middleware\AdminMiddleware'], function()
{
Route::get('/admin', function()
{
return 'Is admin';
});
});
Route::controllers([
'auth' => 'Auth\AuthController',
'password' => 'Auth\PasswordController',
]);
public function handle($request, Closure $next)
{
if (Auth::user()->type != 'Admin')
{
return abort(404);
}
return $next($request);
}
public function handle($request, Closure $next)
{
if ($this->auth->check())
{
return new RedirectResponse(url('/'));
}
return $next($request);
}
class HomeController extends Controller {
public function __construct()
{
$this->middleware('guest');
}
public function index()
{
return view('home');
}
public function tutorials()
{
return view('pages.tutorials');
}
public function tutorialsCategory()
{
return view('pages.tutorials');
}
public function tutorialsLesson()
{
return view('pages.single');
}
public function coursesandseries()
{
return view('pages.coursesandseries');
}
public function single()
{
return view('pages.single');
}
}
您之所以有这些重定向循环,是因为HomeController中的所有方法都受到来宾中间件的保护
因为您希望将经过身份验证的用户重定向到HomeController@index
删除$this->中间件('guest')代码>来自HomeController
或
修改来宾中间件以忽略索引方法
$this->middleware('guest',['only'=>['tutorials','tutorialscape']])
列出您希望使用来宾中间件(不包括索引方法)保护的其他方法尝试返回此返回新的重定向响应(route(“home”)代码>它不工作错误太多重定向这些是你仅有的路由吗?在控制器构造中是否有中间件?您是否将中间件连接到HomeController?我可以看一下HomeController的代码吗。问题可能来自itI在文章中添加homecontroller,我只创建AdminController。感谢移动$this->middleware('guest');