我有一些带有参数的遗留网址,我想在没有这些参数的情况下重定向到路由。
在我的web.php中,我有:
Route::get('/', ['as' => 'welcome', 'uses' => 'PageController@welcome']);
像<{3}}这样的网址应该重定向(302)到http://example.com/?page_id=5。
在控制器中我尝试了以下内容:
public function welcome(Request $request)
{
if($request->has('page_id')) {
redirect()->to('welcome', 302);
}
return view('welcome');
}
它到达重定向但是网址仍然包含?page_id = 5。类似的东西:
redirect()->to('welcome', 302)->with('page_id', null);
也没有任何区别。 Laravel 5.3中使用参数重定向页面的最佳方法是什么?一个没有参数?
答案 0 :(得分:5)
您应该在return
方法前使用redirect()
才能使其正常运行:
public function welcome(Request $request)
{
if($request->has('page_id')) {
return redirect()->route('welcome');
}
return view('welcome');
}
希望这有帮助!