【问题标题】:Multiple routes for the same controller function同一控制器功能的多个路由
【发布时间】:2020-02-27 22:26:28
【问题描述】:

我需要由同一个控制器函数管理 2 条路由。

我想创建 1 条规则,而不是创建不同的规则。
所以不要像这样:

Route::get('/', ['uses' => 'MyController@index']);
Route::get('dashboard', ['uses' => 'MyController@index']);

我想使用 1 条规则。我发现了这个multiple routes in single Route::get() call Laravel 4,但该代码对我不起作用。

这是我尝试但没有成功的方法:

// THEY BOTH DO NOT WORK
Route::get('/{name}', ['uses' => 'MyController@index'])->where('name', 'dashboard|');
Route::get('/{name}', ['uses' => 'MyController@index'])->where('name', '(dashboard)?');

根据这些规则,如果我转到/ 路线,我会收到 404 错误。
如果我去 dashboard 路线,它就可以工作。

【问题讨论】:

    标签: laravel controller routes laravel-6


    【解决方案1】:

    使name 成为optional route parameter 应该可以工作:

    Route::get('/{name?}', ['uses' => 'MyController@index'])->where('name', 'dashboard');
    

    不确定您为什么使用uses,较短的版本是:

    Route::get('/{name?}', 'MyController@index')->where('name', 'dashboard');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-26
      • 2011-02-18
      • 1970-01-01
      • 2012-01-08
      • 2012-12-20
      • 1970-01-01
      相关资源
      最近更新 更多