Как вывести 404 в Vue?

Есть роуты

const routes = [
  {
    path: '/admin',
    component: () => import('../Pages/Dashboard.vue'),
    name: 'dashboard',
    children: [
      {
        path: 'requests',
        component: () => import('../Pages/Dashboard.vue'),
        name: 'requests'
      },
    ]
  },
  {
    path: '/admin/404',
    component: () => import('../Pages/Errors/NotFound.vue'),
    name: '404',
  }, 
  {
    path: '*',
    redirect: { name: '404' }
  }
]


если перехожу по таким маршрутам:

admin/blabla
admin/blabla/


то выдает 404, а если по

admin/blabla/blas то не переходит на 404
  • Вопрос задан
  • 229 просмотров
Пригласить эксперта
Ответы на вопрос 2
Aetae
@Aetae Куратор тега Vue.js
Тлен
Всё работает:
Подозреваю что-то у вас с настройкой реврайта сервера.
Ответ написан
Комментировать
profesor08
@profesor08
https://router.vuejs.org/guide/essentials/nested-r...

Это надо прописывать и для компонентов, которые имеют внутренние страницы, так как в противном случае отработает основной роут, вместо редиректа.
{
    path: '*',
    redirect: { name: '404' }
  }


{
    path: "/admin",
    component: Admin,
    children: [
      {
        path: "dash",
        component: Dash
      },
      {
        path: "*",
        redirect: "/404"
      }
    ]
  },
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы