【问题标题】:Laravel prefix routes redirectLaravel 前缀路由重定向
【发布时间】:2018-07-07 03:54:49
【问题描述】:

我有 admin 前缀,其中 url/admin/dashboard 是我的仪表板视图。 如果他们只输入url/admin,我需要将用户重定向到上面的url。

这就是我所拥有的:

Route::prefix('admin')->group(function () {
  Route::get('dashboard', 'HomeController@index')->name('dashboard'); //works
  Route::get('/', function () {
      return redirect()->route('dashboard');
  }); //doesn't work
});

【问题讨论】:

  • 那么当你输入url/admin时会发生什么?
  • @Marwelln 抱歉,找不到您要查找的页面。
  • 这行得通吗?将您的 get('/') 路由更改为:Route::redirect('/', 'admin/dashboard');
  • @Marwelln no 也不起作用

标签: php laravel laravel-routing


【解决方案1】:

你可能想用这个:

Route::get('url/admin/dashboard', 'HomeController@index')->name('dashboard');
Route::get('url/admin', function () {
    return redirect('url/admin/dashboard');
});

【讨论】:

  • 当我说/ 时,它们通常在admin 前缀下,这意味着前缀本身。如果我说url/admin 将是url/admin/admin
【解决方案2】:

你可以的

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

或者如果你想使用前缀

Route::prefix('admin')->group(function () {
  Route::get('/{name?}', 'HomeController@index')
    ->where('name', 'dashboard')
    ->name('dashboard'); 
});

【讨论】:

    【解决方案3】:

    最新的 Laravel 让它变得更加容易。定义仪表板的路由,然后进行重定向。 Have a look.

    Route::get('url/admin/dashboard', 'HomeController@index')->name('dashboard');
    
    Route::redirect('url/admin', 'url/admin/dashboard');
    

    【讨论】:

    • 老兄,这篇文章发表于 3 年前,现在 3 年后你要来谈论最新版本的 laravel?!!! :D
    猜你喜欢
    • 2019-07-23
    • 2019-05-13
    • 1970-01-01
    • 1970-01-01
    • 2019-09-07
    • 1970-01-01
    • 1970-01-01
    • 2016-03-26
    • 2020-05-17
    相关资源
    最近更新 更多