我使用laravel 4路由为我的项目创建友好的url。我想用以下格式获取url:http://www.mywebsite.com/post/post-slug-content-123。post-slug-content是我的slug,123是我的post id。我的路线:
Route::get('post/{name}-{id}','postController@detail');
它不工作,因为laravel detect "post“是我的{name}变量,"slug”是我的{id}变量,但我希望"post-slug-content“是{name},123是{id}。有什么想法吗?
发布于 2014-11-14 09:17:12
使用-
是行不通的,它会考虑使用哪个-
来破解post-slug-content-123
如果您的url是
或者尝试使用
Route::get('post/{name}-{id}','postController@detail');
因为您有多个-
,它会将其视为单独的URL
或者你可以试着
1:Route::get('post/{nameId}','postController@detail');
当你的名字和id都存在的时候,你可以在你的postController
中把它们分开。
2:Route::get('post/{name}/{id}','postController@detail');
这将工作得很好
或者使用stackoverflow类id followed by name
3:Route::get('post/{id}/{name}','postController@detail');
你也可以使用@itachi所说的
4:Route::get('post/{name}_{id}','postController@detail');
传递参数Here的进一步参考。
https://stackoverflow.com/questions/26925354
复制