Laravel 4 将经过身份验证的用户重定向回最初请求的URL或laravel中的默认URL

Laravel 4 将经过身份验证的用户重定向回最初请求的URL或laravel中的默认URL,laravel-4,Laravel 4,我是laravel的新手,我想获得以下结果,比如说,一个客户在搜索一个术语后进入结果页面,然后决定登录,我如何让用户登录并在laravel中保持相同的结果页面 我有以下代码 在filters.php中,我有以下内容: Route::filter('guest', function() { if (Auth::check()) return Redirect::to('/'); }); 然后在用户控制器中,我有以下内容 显示登录功能 handle登录函数 公共功能手动登录 { $dat

我是laravel的新手,我想获得以下结果,比如说,一个客户在搜索一个术语后进入结果页面,然后决定登录,我如何让用户登录并在laravel中保持相同的结果页面 我有以下代码 在filters.php中,我有以下内容:

Route::filter('guest', function()
 {
    if (Auth::check()) return Redirect::to('/');
});
然后在用户控制器中,我有以下内容

显示登录功能

handle登录函数 公共功能手动登录 { $data=Input::仅限['email','password']

    if(Auth::attempt(['email' => $data['email'], 'password' => $data['password']])){
        return Redirect::to('/profile');            
    }
    return Redirect::route('login')->withInput();

}
现在,登录后的默认页面转到配置文件页面,但我希望用户返回登录前所在的位置


有什么帮助吗?谢谢我想这就是你要找的

return Redirect::back();
在Laravel4中,您可以使用Redirect::guest和Redirect::以便轻松实现目标

重定向::guest在重定向到目标URL之前将当前URL放入会话

重定向::检查会话中是否保存了任何URL,如果该URL不存在,则重定向到该URL或默认位置

实际上,您的代码可以是:

if(Auth::attempt(['email' => $data['email'], 'password' => $data['password']])){
    return Redirect::guest('/profile');            
}
登录后

if (Auth::check()) return Redirect::intended(); 

谢谢你的回答,它确实返回到结果页面的url,但我得到的错误是,如果搜索使用POST方法,则无法识别所做的查询。因此,是的,它将无法识别查询,因为它未保存。也许你可以使用GET方法进行搜索?
if (Auth::check()) return Redirect::intended();