Laravel 5中URL中的Hashtag

时间:2016-12-12 07:55:55

标签: php laravel url laravel-5 laravel-routing

我为客户提供搜索输入。客户有一个地址,一些地址包含数字符号,例如#51 Scout Fuentebella。我在搜索中包含了地址。

我的路线:

Route::get('customer/search/{input}', 'CustomerController@search');

每当我搜索 localhost:8000 / customer / search /#51 Sc 等地址时,都会收到以下错误:

  

RouteCollection.php第161行中的NotFoundHttpException:

1 个答案:

答案 0 :(得分:4)

哈希标记(#)在网址内部具有特殊含义。它标志着fragment identifier的开始,仅在客户端处理。 #之后的任何内容都不会发送到服务器。

如果您的网址需要在其中包含哈希,那么您需要在构建网址之前对数据进行urlencode。

#编码为%23,因此对于您的示例,localhost:8000/customer/search/%2351%20Sc应该可以正常工作。