2016-11-17 9 views
3

これらのパラメータを取得せずにルートにリダイレクトするget paramsを持つ従来のURLがあります。私web.phpでLaravelでパラメータを取得せずに経路指定にリダイレクト

は私が持っている:http://example.com/?page_id=5よう

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

URLがhttp://example.com/に(302)をリダイレクトする必要があります。

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

     redirect()->to('welcome', 302); 
    } 

    return view('welcome'); 
} 

それはリダイレクトに達したが、URLはまだそれに= 5 page_idのがあります?私は次のことを試してみましたコントローラーで

。次のようなものがあります。

redirect()->to('welcome', 302)->with('page_id', null); 

違いはありません。 Laravel 5.3での後にパラメータを含むページをリダイレクトする最良の方法は何ですか?パラメータなしで1つに?

答えて

4

あなたはそれを動作させるためにredirect()方法の前にreturnを使用する必要があります。

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

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

    return view('welcome'); 
} 

は、この情報がお役に立てば幸い!

+0

はいそれはありません! – Roderik

+0

@Roderik - あなたがこの答えを見つけたら、このような他の質問への回答を促し、正しい答えをすばやく見つけるのに役立ちます。 –

+0

私はすぐにそれを受け入れることが許されませんでした、それのための遅延があった(評判にリンクされている)。 – Roderik

0

私には受け入れられた回答は機能しません。

しかし$request->path()を使用しない:

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

     return redirect()->to($request->path()); 
    } 

    return view('welcome'); 
} 
+0

名前付きルート( 'as' => ...)または - > name()を定義しましたか? – Roderik

+0

私はあなたの元の質問にあるのとまったく同じように、「as」を使用しています。 – mikeybeck

関連する問題