[英]Laravel 4.2 Redirect::to with GET Params
是否有可能在Laravel 4.2中使用Redirect::to()
使用GET参数重定向到url?
我试图在用户登录后将其重定向到请求的页面(如果他们没有登录)。
如果您未登录并访问授权页面,则我会将完整的请求网址保存在会话中(该网址可以是https://page.com/settings
或https://page.com/post/23
或https://page.com/post/23?show=full
。很多变体)。
当您登录并在会话中存储一个URL时,我使用Redirect::to(https://page.com/post/23)
重定向您
在前两种情况下没有问题,但是当我使用Redirect::to(https://page.com/post/23?show=full)
GET参数将被忽略。
是否可以使用包含GET参数的方法重定向到url?
您的应用程序有问题。 如果我对您的理解正确,则重定向后,您的网址中将不存在您的查询参数(例如: ?param=true¶m2=1
)。
考虑以下示例:
Route::get('/test', function () {
return Redirect::to('http://localhost:8000/test2?with=params');
});
Route::get('/test2', function () {
echo '1';
});
当我尝试访问: localhost:8000/test
我被重定向到: http://localhost:8000/test2?with=params
这是预期的行为。 您可以发表一个示例,在其中进行重定向吗?
我也建议使用: Redirect :: intended()本身就可以完成您想要的操作。
为什么不重定向:: back()? auth过滤器应该能够将所有未经身份验证的请求重定向到登录页面,然后将用户Redirect :: back()重定向到上一个访问的页面。
编辑: 过滤器 ,而不是中间件。
在Laravel中,默认情况下,如果您使用auth中间件,则此功能可用,如下所示:
Route::group(array('before' => 'auth'), function(){
//authorized routes
});
例
如果用户未登录,则正在访问URL“ example.com/User?abc=123”,这是授权路由。
然后,用户将自动重定向到登录页面。
成功登录后,用户将被自动重定向到最先请求的网址(“ example.com/User?abc=123”)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.