我为客户提供搜索输入。客户有一个地址,一些地址包含数字符号,例如#51 Scout Fuentebella
。我在搜索中包含了地址。
我的路线:
Route::get('customer/search/{input}', 'CustomerController@search');
每当我搜索 localhost:8000 / customer / search /#51 Sc 等地址时,都会收到以下错误:
RouteCollection.php第161行中的NotFoundHttpException:
答案 0 :(得分:4)
哈希标记(#
)在网址内部具有特殊含义。它标志着fragment identifier的开始,仅在客户端处理。 #
之后的任何内容都不会发送到服务器。
如果您的网址需要在其中包含哈希,那么您需要在构建网址之前对数据进行urlencode。
#
编码为%23
,因此对于您的示例,localhost:8000/customer/search/%2351%20Sc
应该可以正常工作。