У меня есть два типа маршрутов: маршруты администратора и маршруты внешнего интерфейса.
Маршруты внешнего интерфейса
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 , все они должны начинаться с /
Мой вопрос: как я могу загружать маршруты backend и frontend отдельно, не мешая при вызове, даже если они имеют одинаковую длину URL с точки зрения параметров, имейте в виду, что маршруты администратора всегда начинаются с / admin или / api.
Примечание: я не могу поставить внутренние маршруты перед внешними
Заранее спасибо!