1

2 つのパラメーターを渡そうとしていますが、そのうちの 1 つは電子メール アドレスです。

ルート ( (:any)も試しました)

Route::any(
    'user/confirm_request/(:any?)/(:any?)', array(
                                             'uses' => 'user@confirm_request'));

コントローラー ( post_confirm_request()も試しました)

public function get_confirm_request($email, $term)
{ 
  //do stuff
}

最終的に、私がやろうとしているのは、そのルートにアクセスして、これら 2 つのパラメーターを使用してユーザーにメールを送信することだけです。しかし、404 エラーが発生し続けます。電子メールはエンコードされ、ルートは次のようになります。

/email%40gmail.com/someString

%40 を取り出すことができ、問題なく動作します (sendmail でエラーが発生するだけです)。%40 が 404 エラーをスローするのはなぜですか? それはLaravelのものでしょうか?

4

1 に答える 1

0

1 つの解決策は、電子メールを URL パラメーターとして渡すことです。

最初に、ルートから 2 番目の引数を削除します。(必要に応じて、両方を削除することもできます。)

  Route::any('user/confirm_request/(:any?)', array('uses' => 'user@confirm_request'));

次に、メールをアクション URL に追加します。次のようになります。

  $url = URL::base() . '/user/confirm_request?email=' . $email;

次に、コントローラーでそのデータを取得できます。

  public function get_confirm_request()
  { 
    $email = Input::get('email');
  }
于 2013-02-20T04:47:25.930 に答える