我将粘贴代码,以便您理解我要做什么,基本上我做了一个路由过滤器,并告诉我如果用户帐户未激活(我通过电子邮件链接进行注册),我想重定向。
Route::filter('activated', function()
{
if (Session::get('account_activated') == 0)
{
return Redirect::to('myaccount', 'MyAccountController@notActive');
}
});
Route::group(array('before' => 'auth'), function()
{
// Only authenticated users may enter...
Route::get('myaccount', 'MyAccountController@index');
});
当我登录时,我将“ account_activated”密钥与数据库中的值(对应于用户)放入会话中,因此...
当我尝试在这里输入时:
Route::group(array('before' => array('auth', 'activated')), function()
{
// Only authenticated and activated users may enter...
Route::get('sell', 'SellController@index');
});
我收到此错误:HTTP状态代码“ 0”无效。
有人知道为什么吗?谢谢!
最佳答案
当您要对一个路由使用多个过滤器时,必须将它们放在一个由|
分隔的字符串中。
Route::group(array('before' => 'auth|activated'), function()
{
// Only authenticated and activated users may enter...
Route::get('sell', 'SellController@index');
});
更新:
状态码0表示Laravel执行请求时出了点问题。发生这种情况时,最好查看Laravel日志或Web服务器日志。