請問該如何設定 router /admin/* 後綴所有路由重新導向?

想請問大家目前專案有分前後臺,路由的部分用導航守衛做驗證控制,但是在阻擋後台的部分想抓取 /admin/* 路徑之後的頁面都導回 /admin

ex. /admin/orders , /admin/users … 等等若無登入皆導回 /admin 登入頁

router.beforeEach((to, from, next) => {
   const isLogin = localStorage.hasOwnProperty("token");

       ...// 省略上方驗證規則
   if(!isLogin){
        // 需要驗證的頁面 & 未登入
        if (to.path == "/admin/*") {   // 這邊不確定該如何抓 /admin/other_pages 皆指向 /admin
          next("/admin");
        } else {
          next("/login");
        }
   }
});

謝謝大家閱讀

let reg = ^\/admin\/\.?
if (reg.test(to.path)) {
  next('/admin')
}
1 Like

謝謝你的回覆!
不過我嘗試加入到 code 裡會報錯:cold_sweat:

忘记前后的符号了我

let reg = /^\/admin\/\.?/
if (reg.test(to.path)) {
  next('/admin')
}
1 Like

謝謝你!!!! 成功了!!

你好,
上一篇您回復我關於移除 # 預設路由的方法,我看完文件後試著加上 history 模式並請後端做相關設定,不過改完之後發現原本上面您建議導回 /admin 的方法失效了,且不會透過 beforeeach 的方法去做導轉,
想請教是不是 History 模式導轉需要有其他設定?

抱歉新手問題很混亂:sweat_smile: