Laravel:将输入查询的结果更改为友好URL
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel:将输入查询的结果更改为友好URL相关的知识,希望对你有一定的参考价值。
如何更改提交表格所产生的网址─
http://localhost:8000/estates?zone=London&type=villa
到这个网址:
http://localhost:8000/estates/London/villa
需要使URL对搜索引擎更友好。
我从表格中的输入字段中获取区域和别墅
localhost:8000/estates
当我提交表格时,我得到一个这样的网址 -
localhost:8000/estates?zone=London&type=villa
在提交表格时,我希望有这个网址,而不是上面的内容 -
localhost:8000/estates/London/villa
当您提交表单时,它应该在控制器操作中捕获发布数据,如下所示 -
class MyController
{
public function create()
{
// Your form
}
public function store()
{
// This is where you receive the zone and villa in the request
}
}
正如您所看到的,您已经在商店方法中收到了请求中的输入字段,现在您可以执行以下操作 -
public function store(Request $request)
{
// Your code here
redirect()->to($request->zone.'/'.$request->villa);
}
请确保您为区域和别墅创建了路线,否则重定向到不存在的路线/网址将无法正常工作。
为您的要求创建这样的路线 -
Route::get('estates/{zone}/{villa}', 'MyController@anotherMethod');
您将在控制器中使用另一种操作方法来接收此区域和别墅输入,如下所示 -
public function anotherMethod($zone, $villa)
{
// Access your $zone and $villa here
}
您应重组您的路线,以便区域和村庄成为路线参数。
因此,例如,http://localhost:8000/estates/London/villa的路线将是Route::post('/estates/{zone}/{villa}', 'SomeController@action')
,在控制器中,您可以将区域和村庄作为参数注入。所以你可以使用这样的东西:
class SomeController {
public function action(Request $request, string $zone, string $villa){
}
}
它在Laravel文档中的路由的路径参数部分中进一步描述。
以上是关于Laravel:将输入查询的结果更改为友好URL的主要内容,如果未能解决你的问题,请参考以下文章
wordpress 使用 htaccess 更改为带有变量的友好 URL