繁体   English   中英

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

[英]Redirect to route without get params with Laravel

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

在我的web.php中我有:

Route::get('/', ['as' => 'welcome', 'uses' => 'PageController@welcome']);

http://example.com/?page_id=5等网址应重定向(302)到http://example.com/

在控制器中我尝试了以下内容:

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

您应该在redirect()方法前面使用return来使其工作:

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

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

    return view('welcome');
}

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM