排除Laravel中的条件路由

问题描述 投票:0回答:1

我正在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方法。

laravel laravel-routing laravel-route
1个回答
0
投票

对我来说一切正常,请检查此

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');
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.