使用ID

时间:2016-02-01 18:03:45

标签: php mysql laravel nginx

我正在开发一个webapp。使用网址web.site/123中的商品ID可以访问项目,其中123是item id。我想将访问者重定向到web.site/123-the-item这样的完整网址页面,我也希望在我的网站中使用完整链接。

有什么好主意怎么做?

我不需要代码,我正在寻找一个简单而又有效的想法。标题显然在数据库中,因此无论如何都会有一个选择。但我不确定,如果我应该重定向一次,每次访问者都访问网站而不检查网址是否已满(看起来不太好),或者我应该检查网址并重定向,只要它与标题不匹配?

我正在使用 nginx,php,mysql laravel 5.2 ,以防有这种情况的解决方法,我不知道。

2 个答案:

答案 0 :(得分:1)

尝试添加

之类的路线
Route::get('/{id}',['uses' => 'ContentController@byId'],'where'=>['id'=>'\d*']);

在该操作中,您可以检查数据库中是否存在ID并将用户重定向到正确的URL

答案 1 :(得分:0)

您可以检查使用正则表达式来检查传入请求是否只有id并将它们映射到特定路由。在数字路线中,您可以重定向。

E.g。 你的路线文件应该是这样的:

Route::get('item/{id}', function ($id) {
    //redirect to the full name route
})
->where('id', '[0-9]+');

Route::get('item', 'SomeController@somemethod');

了解更多here