如何将用户重定向到自定义URL(视图)?

时间:2017-01-19 11:18:53

标签: php laravel-5 laravel-request laravel-views

我在Laravel 5中有这样的URL:

domain.com/search-user/email@domain.net

当我输入此网址时,它会自动按给定的电子邮件搜索数据。

我应该如何将用户从其他控制器重定向到此URL?

我试过了,但它不起作用:

return view(‘controller.search-user')->with('email', $request->email);

我的路线档案:

Route::post('/search-user', 'tnt6weeklistController@postSearchUser');
Route::get('/search-user/{email}', 'tnt6weeklistController@postSearchUser');

-------解决---------- 仅使用此代码解决了问题(可能这不是最佳实践,但其他解决方案无效):

return \Redirect::to('http://domain.com/search-user/'.$request->email);

4 个答案:

答案 0 :(得分:0)

我想这会奏效。

return url('/search-user/' . urlencode($request->email));

请注意,这会将@更改为%40see here),因此您需要在处理此请求的位置替换它。

答案 1 :(得分:0)

或者Loek回答你可以使用redirect()->route()方法

设置路线的参数

示例:

return redirect()->route('search-user', ['email' =>  $request->email]);

假设“email”是一个合适的路由参数。

更多详情:https://laravel.com/docs/5.3/redirects

答案 2 :(得分:0)

如果你有路线,那么你可以做这样的事情,

return \Redirect::route('search-user/example@email.com');

答案 3 :(得分:0)

我建议使用$ _GET,所以不要使用你拥有的网址,而是这样做:

domain.com/search-user/?email=email@domain.net

并更改您的代码,以便您处理$_GET['email']。这应该有助于重定向问题。