我正在开发一个webapp。使用网址web.site/123
中的商品ID可以访问项目,其中123是item id
。我想将访问者重定向到web.site/123-the-item
这样的完整网址页面,我也希望在我的网站中使用完整链接。
有什么好主意怎么做?
我不需要代码,我正在寻找一个简单而又有效的想法。标题显然在数据库中,因此无论如何都会有一个选择。但我不确定,如果我应该重定向一次,每次访问者都访问网站而不检查网址是否已满(看起来不太好),或者我应该检查网址并重定向,只要它与标题不匹配?
我正在使用 nginx,php,mysql 和 laravel 5.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。