Php 最终路线URL更改Laravel 5.5

Php 最终路线URL更改Laravel 5.5,php,laravel,routes,laravel-5.5,Php,Laravel,Routes,Laravel 5.5,我正在做一个学校的项目。在学校详细信息页面上工作时,我遇到了一个URL问题。我的客户需要一个干净的URL来运行AdWords。我的学校详细信息页面URL:。但他需要它。如果有人帮助我,这将很有帮助,提前感谢。在这种情况下,您必须使用一个前端控制器处理所有请求,并通过以下方式获取数据,例如: public function show($slug) { $page = Page::where('slug', $slug)->first(); .... } 您的路线可能如下

我正在做一个学校的项目。在学校详细信息页面上工作时,我遇到了一个URL问题。我的客户需要一个干净的URL来运行AdWords。我的学校详细信息页面URL:。但他需要它。如果有人帮助我,这将很有帮助,提前感谢。

在这种情况下,您必须使用一个前端控制器处理所有请求,并通过以下方式获取数据,例如:

public function show($slug)
{
     $page = Page::where('slug', $slug)->first();
     ....
}
您的路线可能如下所示:

Route::get('{slug}', 'FrontController@show');

在这种情况下,您必须为所有请求使用一个前端控制器,并通过以下方式获取数据,例如:

public function show($slug)
{
     $page = Page::where('slug', $slug)->first();
     ....
}
您的路线可能如下所示:

Route::get('{slug}', 'FrontController@show');

您需要在web.php(如果是laravel 5.x)或routes.php(如果是laravel 4.2)中的所有路由之后定义此路由

控制器应该有这样的
getIndex
方法

public function getIndex($school_name)
{
  print_r($school_name);die;  // This is just to print on page,
  //otherwise you can write your logic or code to fetch school data and pass the data array to view from here.
}

这样,您就不需要使用数据库来获取基于URL段的URL,您可以直接在数据库中检查学校名称,从DB中获取数据后,您可以将其传递到学校详细信息视图。它将满足您的需要。

您需要在web.php(如果是laravel 5.x)或routes.php(如果是laravel 4.2)中的所有路由之后定义此路由

控制器应该有这样的
getIndex
方法

public function getIndex($school_name)
{
  print_r($school_name);die;  // This is just to print on page,
  //otherwise you can write your logic or code to fetch school data and pass the data array to view from here.
}
这样,您就不需要使用数据库来获取基于URL段的URL,您可以直接在数据库中检查学校名称,从DB中获取数据后,您可以将其传递到学校详细信息视图。它将满足您的需要。

检查文档中的部分

自定义密钥名称

如果在检索给定的模型类时希望模型绑定使用id以外的数据库列,则可以覆盖雄辩模型上的getRouteKeyName方法:

检查文档中的部分

自定义密钥名称

如果在检索给定的模型类时希望模型绑定使用id以外的数据库列,则可以覆盖雄辩模型上的getRouteKeyName方法:



你能给我发个网址吗???当然,这是网站的网址,但问题是这些类型的网址。您的路由代码???在我看来,第一个url是用户友好的,因为我可以。您应该在生产中禁用调试。在
.env
文件中,将
APP_DEBUG=true
更改为
APP_DEBUG=false
是否可以向我发送url???当然,这是网站url,但问题在于这些类型的url。您的路由代码???在我看来,第一个url是用户友好的,因为我可以。您应该在生产中禁用调试。在
.env
文件中将
APP_DEBUG=true
更改为
APP_DEBUG=false
但是如何使用他提到的url呢?根据您的回答,我们必须在url中使用
show
段。然后它将捕获函数,然后我们可以使用
slug
,他需要保留一个包含slug和相关信息的表。对于任何复杂的应用程序来说,这都是一个糟糕的架构,但是如果他的老师想要这个,OP没有选择。我的意思是,如果这个
show()
将位于前端控制器内,那么,为了将我们的请求指向它,我们需要在url中使用这个词
show
。然后
show()
将根据slug返回正确的页面。看起来这是学校的项目(作为客户,他确实这么说)。@HimanshuUpadhyay您不需要将
show
添加到URL。路由看起来像
route::get({slug},'FrontController@show');show
段。然后它将捕获函数,然后我们可以使用
slug
,他需要保留一个包含slug和相关信息的表。对于任何复杂的应用程序来说,这都是一个糟糕的架构,但是如果他的老师想要这个,OP没有选择。我的意思是,如果这个
show()
将位于前端控制器内,那么,为了将我们的请求指向它,我们需要在url中使用这个词
show
。然后
show()
将根据slug返回正确的页面。看起来这是学校的项目(作为客户,他确实这么说)。@HimanshuUpadhyay您不需要将
show
添加到URL。路由看起来像
route::get({slug},'FrontController@show');