排除 Laravel 中的条件路由
Exclude conditional routes in Laravel
我正在 Laravel
和 Vuejs
中构建和应用程序,其中我有 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');
我正在 Laravel
和 Vuejs
中构建和应用程序,其中我有 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');