我有子文件夹的网址:
/book/yur.voprosy/vopros-1.json
我不计算将在/ book /之后的子文件夹级别 我的路线是:
Route::get('/book/{file?}', 'BookController@index');
但如果等级超过1 laravel返回: RouteCollection.php第161行中的NotFoundHttpException:
如何解决?
答案 0 :(得分:0)
你不能在Laravel中真正做到这一点,因为路由系统希望你定义确切的"路径",所以,为了它起作用,你必须:
co1 col2 col3 col4 col5
1 2 3 longL 5
以这种方式在控制器中使用它:
Route::get('/book/{folder?}/{file?}', 'BookController@index');
所以你可以这样做
public function index($folder = null, $file = null) { ... }
在你的控制器中使用
Route::get('/book/{f1?}/{f2?}/{f3?}/{f4?}/{f5?}/{f6?}/{f7?}', 'BookController@index');
$ numargs = func_num_args();
或者你可以这样做:
public function index() {
$file = implode('/', func_get_args());
}
然后点击
Route::get('/findbook', 'BookController@index');
使用
在控制器中获取它https://yourdomain.com/findbook?filename=yur.voprosy/vopros-1.json