Redirect laravel 4从构造函数重定向此网页存在重定向循环错误

Redirect laravel 4从构造函数重定向此网页存在重定向循环错误,redirect,laravel-4,constructor,Redirect,Laravel 4,Constructor,在我的控制器中,我有以下功能: function __construct() { Redirect::to('admin/login')->send(); } 但是,在重定向后,浏览器会出现以下错误: This webpage has a redirect loop 我怎样才能避免这种情况 编辑: 控制器如下所示(为简洁起见省略): 和路由文件: Route::controller('admin', 'AdminController'); Route::controller('

在我的控制器中,我有以下功能:

function __construct()
{
    Redirect::to('admin/login')->send();
}
但是,在重定向后,浏览器会出现以下错误:

This webpage has a redirect loop
我怎样才能避免这种情况

编辑:

控制器如下所示(为简洁起见省略):

和路由文件:

Route::controller('admin', 'AdminController');
Route::controller('/{name?}', 'PagesController');

您需要从该AdminController中删除整个构造函数。如果你把一个重定向放在那里,每次你试图在它里面使用一个方法时,它都会重定向

为了让它发挥作用,请尝试:

Route::get('admin', 'AdminController@getIndex');
而不是

Route::controller('admin', 'AdminController');

并删除AdminController中的构造函数。我无法想象在什么情况下我会在控制器的构造函数中重定向。

您拥有代码的控制器是什么?你能告诉我路线吗?你有任何过滤器吗?我刚刚用控制器和路由编辑了我的答案。控制器是一个自定义控制器,我没有任何过滤器。这就是关键,如果用户没有正确的凭据,当访问其中的任何方法时,它应该重定向。现在的方式(自动重定向每个人)只是为了测试目的,让重定向到实际工作。啊,好的。什么控制器和方法处理“管理/登录”路由?它有任何过滤器吗?它是一个getLogin方法,也在管理控制器中,没有过滤器。这就是问题所在。当代码在类构造中时,AdminController将重定向每个请求。用户是否拥有权限并不重要。因此,您得到的错误是因为用户试图转到AdminController中的getIndex,当创建控制器时,它会找到重定向代码,该代码再次重定向到同一控制器:无限循环我没有使用过滤器。是的,我明白你的意思,如果我尝试重定向到另一个控制器中的方法,它就会工作。天哪,我觉得自己像个傻瓜,但值得赞扬的是,昨晚已经很晚了:)我会用这种方法修改我的答案,你会更新你的答案,这样我就可以接受了。
Route::controller('admin', 'AdminController');