我有这个网址:
example.org.ch/c123-Category-One
其中'123'是我需要传递给控制器的类别ID。路由规则是:
Route::get('/c{id}-{slug}', [
'as' => 'category.index',
'uses' => 'Company\Package\CategoryController@view',
])->where('id', '[0-9]+');
但我可以有子类别:
example.org.ch/c123-Category-One/c234-Category-Two
example.org.ch/c123-Category-One/c234-Category-Two/c567-Category-Three
..
example.org.ch/..X-LEVELS../c2846-Category-X
对于这些我尝试了这个路由规则:
Route::get('{path}/c{id}-{slug}', [
'as' => 'category.index',
'uses' => 'Company\Package\CategoryController@view',
])->where(['path' => '.*', 'id' =>'[0-9]+']);
适用于二级以上类别,但不适用于:example.org.ch/c123-Category-One
所有案件都可以有一条规则吗?
答案 0 :(得分:-1)
将第二条路线更改为
Route::get('{a}/{b?}', [
'as' => 'category.index',
'uses' => 'Company\Package\CategoryController@view',
])->where(['a' => '.*','b' => '.*']);
并在控制器解析" $ a"和" $ b"随着爆炸。