【发布时间】:2016-04-10 15:21:14
【问题描述】:
我正在尝试在routes.php 中创建一个可以处理可选无限子路径的路由。
Route::get('/path/{url}', function($url){
echo $url;
});
网址可以是以下:
/path/part1
/path/part1/part2
/path/part1/part2/part3
etc.
但是由于 url 中的 / 与子路径不匹配,所以什么也没有发生。 (当然,echo $url 仅用于测试)。
我现在使用一个技巧来避免这种情况,通过使用 ~ 而不是 / 作为子路径,然后替换它们,但我想知道是否有更好的方法,所以我可以使用 @987654329网址中的@。
更新
找到解决方案,感谢 Mark:
Route::get('/path/{all}', function($url){
echo $url;
})->where('all', '.*');
【问题讨论】:
-
stackoverflow.com/questions/13297278/… 可能会回答您的问题。
-
(:any) 似乎不再在 Laravel 5 中工作了? {any} 和 {all} 确实有效,但似乎与子路径不匹配......
-
{any}和{all}没有什么特别之处,因为它们只是普通的路由参数。
标签: php laravel laravel-routing