Laravel 4 - 路由 - 在URL中重复段

时间:2014-06-04 11:01:48

标签: php laravel-4 url-routing

我有这个网址:

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

所有案件都可以有一条规则吗?

1 个答案:

答案 0 :(得分:-1)

将第二条路线更改为

Route::get('{a}/{b?}', [
  'as' => 'category.index',
  'uses' => 'Company\Package\CategoryController@view',
])->where(['a' => '.*','b' => '.*']);

并在控制器解析" $ a"和" $ b"随着爆炸。