在Laravel 4中将多个URL指向同一方法的最佳实践

时间:2015-03-17 12:20:34

标签: php laravel-4 laravel-routing

在没有重复代码的情况下,是否有更好的方法在Laravel 4中执行此操作?

Route::get('site/{url}', 'SearchController@index');
Route::get('test1/{url}', 'SearchController@index');
Route::get('test2/{url}', 'SearchController@index');

即。使用查询字符串值将多个URL指向单个方法。实现这一目标的最佳做法是什么?

提前感谢您的建议。

1 个答案:

答案 0 :(得分:4)

使其具有动态第一段的一条路线,并使用正则表达式将其限制为一组值:

Route::get('{first}/{url}', 'SearchController@index')
     ->where('first', '(site|test1|test2)');