0

有没有办法结合这两条路线?

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
4

1 回答 1

1

您可以在方法的第一个参数中使用正则表达式get()来组合它们。

请参阅文档中的正则表达式路由约束部分。

像这样的东西可能会起作用:

Route::get('project/{name}', function($name)
{
    //
})
->where('name', '[A-Za-z0-9\/]+');

正则表达式将匹配诸如/projects/something/anything. 然而,这可能太松了——它也会匹配/projects/any/number/of/url/segments。但我相信更多的 RegEx 可以帮助做出更好的约束,以更接近您正在寻找的内容。

于 2013-06-11T12:48:16.213 回答