有没有办法将这两条路线结合起来?
Route::get('project/(:any)', 'dashboard.project@(:1)');
Route::get('project/(:any)/(:any)', 'dashboard.project@(:1)');
我问,因为第二条路线,我必须添加它以便以下请求工作:
site.com/project/new => method
site.com/project/view/12351326 => method and parameter
答案 0 :(得分:1)
您可以在get()
方法的第一个参数中使用正则表达式来组合它们。
请参阅文档中的Regular Expression Route Constraints部分。
这样的事可能有用:
Route::get('project/{name}', function($name)
{
//
})
->where('name', '[A-Za-z0-9\/]+');
正则表达式匹配/projects/something/anything
等网址。但是,这可能太松了 - 它也会匹配/projects/any/number/of/url/segments
。但我相信更多的RegEx可以帮助制定更好的约束条件,以便更接近您所寻找的目标。