我有两种路由,管理路由和前端路由。
前端路线
Route::get('{locale?}/', ['uses' => '\App\Http\Controllers\loadViewController@home']);
Route::get('{locale?}/{page}', ['uses' => '\App\Http\Controllers\loadViewController@index']);
Route::get('{locale?}/{template?}/{page}', ['uses' => '\App\Http\Controllers\loadViewController@detail']);
后端路线
Route::prefix('admin/dashboard')->group(function () {
Route::get('/', 'DashboardController@index')->name('dashboard');
});
现在,当我输入 admin/dashboard 或 api/admin 时,laravel 使用前端路由加载视图,而我希望加载后端视图。
所以为了过滤掉我试过的后端路由
Route::group(['where' => ['page' => '^(?!admin|api)$', 'template' => '^(?!admin|api)$']], function ({
Route::get('{locale?}/', ['uses' => '\App\Http\Controllers\loadViewController@home']);
Route::get('{locale?}/{page}', ['uses' => '\App\Http\Controllers\loadViewController@index']);
Route::get('{locale?}/{template?}/{page}', ['uses' => '\App\Http\Controllers\loadViewController@detail']);
});
这显然不起作用
此外,前端路由不应该有/website之类的东西,它们都应该以/开头
我的问题是:如何在不干扰调用时分别加载后端和前端路由,即使它们在参数方面具有相同的 url 长度,请记住管理路由始终以 /admin 或 /api 开头。
注意:我不能将后端路由放在前端路由之前
提前致谢!
守着星空守着你
喵喵时光机
呼啦一阵风