urlencoded字符串是否会抛出404错误?

时间:2013-02-19 23:20:54

标签: urlencode laravel url-encoding laravel-3

我正在尝试传递两个参数,其中一个是电子邮件地址。

路线(也尝试(:任何)

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

controller(也尝试了 post_confirm_request()

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

最终,我要做的就是点击该路线并向具有这两个参数的用户发送电子邮件。但我一直收到404错误。电子邮件被编码,路线如下:

/email%40gmail.com/someString

我能够取出%40并且它工作得很好(只是给了我sendmail的错误)。 为什么%40会抛出404错误?它可能是Laravel的东西吗?

1 个答案:

答案 0 :(得分:0)

一种解决方案是将电子邮件作为url参数传递。

首先,从路线中删除第二个参数。 (如果需要,你也可以删除它们。)

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

然后将电子邮件附加到操作网址,就像这样......

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

然后在您的控制器中,您可以获取该数据。

  public function get_confirm_request()
  { 
    $email = Input::get('email');
  }