Дело в том, что маршруты Laravel и Vue не совпадают.
Vue маршруты вроде виртуальные. Они существуют и работают только внутри браузера.
Vue используется для одностраничных приложений - он же SPA.
Чтобы это работало, вам нужно изменить маршрут администратора, чтобы он совпадал с чем-либо, начинающимся с "/ admin"
Итак, ваш маршрут должен быть таким:
Route::get('/admin/{param?}','AdminController@index')->where('param', '(.*)')->middleware(['auth', 'auth.admin']);
и он должен возвращать вид лезвия с вашим приложением vue.
Ваше приложение Vue затем должно отобразить запрошенную страницу в зависимости от того, какой маршрут был запрошен. Для этого и был создан Vue-роутер.
И все или ваши страницы администратора и макеты должны обрабатываться Vue.
И в ваших ресурсах Vue / js / router / index.js (я полагаю, вы используете Laravel Mix)
export const routes = [
{
path: '/',
component: MainLayoutComponent,
redirect: { name: 'home' },
children: [
{
path: 'home',
name: 'home',
component: AdminHome,
meta: {
title: 'Main Page'
},
},
]
}
];
const router = new Router({
routes,
base: '/admin',
mode: 'history',
});