Php 拉威尔路线。如何使路线匹配多个婴儿车?

Php 拉威尔路线。如何使路线匹配多个婴儿车?,php,laravel,laravel-routing,Php,Laravel,Laravel Routing,现在我有路线: Route::get('blog','BlogController@index'); Route::get('blog/pram1','BlogController@index'); Route::get('blog/pram1/pram2','BlogController@index'); 我需要制定一条路线,允许我使用任意数量的婴儿车,而无需指定婴儿车的确切数量。。。例: www.site.com/blog/pram1/pram2/pram3/pram4/pram5/.

现在我有路线:

Route::get('blog','BlogController@index');
Route::get('blog/pram1','BlogController@index'); 
Route::get('blog/pram1/pram2','BlogController@index'); 
我需要制定一条路线,允许我使用任意数量的婴儿车,而无需指定婴儿车的确切数量。。。例:

www.site.com/blog/pram1/pram2/pram3/pram4/pram5/......

只需要一种方法来指定以(blog)开始的路线,然后再将任意数量的婴儿车重定向到相同的控制器方法。

在您的情况下,我建议使用以下模式:

www.site.com/blog?pram1=foo&pram2=bar
所以只保留

Route::get('blog','BlogController@index');
然后在你的控制器里

public function index()
{
    // www.site.com/blog?pram1=foo&pram2=bar
    $param1 = Input::get('param1'); // return 'foo'
    $param2 = Input::get('param2'); // return 'bar'
    $param3 = Input::get('param3'); // return null
}
var_dump(Request::segment(2)); // return value of param1, null if doesn't exist

更新

如果您需要保持路线不变,您可以尝试:

Route::get('blog/{params?}','BlogController@index')->where('params', '.*');
然后在你的控制器里

public function index()
{
    // www.site.com/blog?pram1=foo&pram2=bar
    $param1 = Input::get('param1'); // return 'foo'
    $param2 = Input::get('param2'); // return 'bar'
    $param3 = Input::get('param3'); // return null
}
var_dump(Request::segment(2)); // return value of param1, null if doesn't exist

我知道这一点,但它不起作用。我需要它使用以前编写的代码,在婴儿车中使用此策略。只需要一种方法来指定以(blog)开始的路线,然后将任何数量的婴儿车重定向到相同的控制器方法。。。