Laravel路线路段

时间:2018-06-29 08:45:51

标签: laravel url routes laravel-routing

我想写一条路线Route::get('/{lang}/home', 'ExampleController@get_home'),所以

  • 如果url为 localhost :: 8000 / home ,然后重定向到home
  • 如果url为 localhost :: 8000 / ru / home ,然后重定向到home

那么lang是否存在?

我该怎么做?

2 个答案:

答案 0 :(得分:2)

Laravel在路径的中间不允许使用可选参数。但是,您可以通过添加2条这样的路线来解决该问题

Route::get('/home', 'ExampleController@get_home')
Route::get('/{lang}/home', 'ExampleController@get_home')

控制器(在控制器操作中添加$ lang可选参数)

class ExampleController extends Controller {

   public function get_home(Request $request, $lang = null){
     ...
   }

}

答案 1 :(得分:0)

将您的路线更新为:

Route::get('/{lang?}/home', 'ExampleController@get_home')