重定向到路线而没有得到Laravel的参数

时间:2016-11-17 15:09:28

标签: php laravel get routing laravel-5.3

我有一些带有参数的遗留网址,我想在没有这些参数的情况下重定向到路由。

在我的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中使用参数重定向页面的最佳方法是什么?一个没有参数?

1 个答案:

答案 0 :(得分:5)

您应该在return方法前使用redirect()才能使其正常运行:

public function welcome(Request $request)
{
    if($request->has('page_id')) {

        return redirect()->route('welcome');
    }

    return view('welcome');
}

希望这有帮助!