排除 Laravel 中的条件路由

Exclude conditional routes in Laravel

我正在 LaravelVuejs 中构建和应用程序,其中我有 Laravel 条如下所示的路线:

Route::get('/admin/{view?}', 'HomeController@admin')->where('view', '(.*)')->name('admin');

Route::get('/{view?}', 'HomeController@home')->where('view', '(.*)')->where('view', '!=', 'admin')->name('home');

我正在使用 Vue-router 所以我在 vuejs 中进行路由,并且我正在使用历史记录模式。问题是当我尝试调用 /admin 它通常调用 HomeController@home 方法。即使我像 /admin/dashboard 那样更深入,它也会调用相同的 home 方法。我想如果 admin 前缀被调用那么它应该调用 HomeController@admin 方法。

我没问题,请检查一下

Route::get('/admin/{view?}', function (){
    dd('okay');
})->where('view', '(.*)')->name('admin');

Route::get('/{view?}', function(){
    dd('okay1');
})->where('view', '(.*)')->name('home');

所以试试这个

Route::get('/admin/{view?}', 'HomeController@admin')->where('view', '(.*)')->name('admin');

Route::get('/{view?}', 'HomeController@home')->where('view', '(.*)')->name('home');