当前位置: 首页 > news >正文

Vue Router (重定向和别名)

1、重定向

1.1 定义

重定向(Redirect)​ 是指当用户访问某个 URL 时,服务器或前端路由机制让浏览器自动跳转到另一个 URL​ 的过程。

换句话说:用户请求页面 A,但服务器/应用让浏览器去访问页面 B。

1.2 用途

  • 网站改版后,旧链接跳转到新链接(保持 SEO 权重和用户体验)

  • 用户访问未登录页面,重定向到登录页

  • HTTP 到 HTTPS 的强制跳转

  • 将多个域名统一跳转到一个主域名(如 www.example.com→ example.com)

  • 临时维护页面跳转

  • 404 页面引导用户到首页或其他有效页面

1.3 类型

状态码

名称

请求方法是否可保持

典型用途

是否推荐用于 POST 后跳转

301

Moved Permanently

✅(但浏览器一般用 GET)

永久重定向,SEO 权重转移

❌ 不推荐,会变成 GET

302

Found (Temporary)

✅(但大多数浏览器强行用 GET)

临时跳转

⚠️ 不安全,多数浏览器会转为 GET

303

See Other

❌ 必须用 GET

POST 后跳转查看结果、表单提交后展示页

✅ ✅ 推荐使用

307

Temporary Redirect

✅ 保持原请求方法(如 POST)

临时重定向,保持方法不变

✅ 适用于需要保持 POST 的场景

308

Permanent Redirect

✅ 保持原请求方法

永久重定向,保持方法不变

✅ 适用于 API 永久迁移且要保持方法

1.4 基本用法

在 Vue Router 的路由配置中,可以为某个 path 路径设置 redirect 属性,当用户访问该路径时,不会渲染该路径对应的组件,而是自动导航(重定向)到另一个路径

重定向也是通过 routes 配置来完成,下面例子是从 /home 重定向到 /

const routes = [{ path: '/home', redirect: '/' }]

重定向的目标也可以是一个命名的路由:

const routes = [{ path: '/home', redirect: { name: 'homepage' } }]

甚至是一个方法,动态返回重定向目标:

const routes = [{// /search/screens -> /search?q=screenspath: '/search/:searchText',redirect: to => {// 方法接收目标路由作为参数// return 重定向的字符串路径/路径对象return { path: '/search', query: { q: to.params.searchText } }},},{path: '/search',// ...},
]

注意:在写 redirect 的时候,可以省略 component 配置,因为它从来没有被直接访问过,所以没有组件要渲染。唯一的例外是嵌套路由:如果一个路由记录有 children 和 redirect 属性,它也应该有 component 属性。

2、相对重定向

const routes = [{// 将总是把/users/123/posts重定向到/users/123/profile。path: '/users/:id/posts',redirect: to => {// 该函数接收目标路由作为参数return to.path.replace(/posts$/, 'profile')},},
]

3、别名(alias

3.1 定义

Alias(别名)​ 可以让一个路由拥有多个“访问路径”,用户访问别名路径时,实际展示的是目标路由的内容,但 URL 保持为别名路径本身,不会发生跳转

3.2 基本用法

路径是/home,实际跳转的是/

const routes = [{ path: '/', component: Homepage, alias: '/home' }]

提供多个别名:

const routes = [{path: '/users',component: UsersLayout,children: [// 为这 3 个 URL 呈现 UserList// - /users// - /users/list// - /people{ path: '', component: UserList, alias: ['/people', 'list'] },],},
]

注意:如原路由是 /user/:id,那么别名应该是 /profile/:id

http://www.dtcms.com/a/597929.html

相关文章:

  • 邮件服务器是不是网站服务器如何建立自己的网站平台
  • 打工人日报#20251111
  • 服装网站建设美丽网站建设开发公司排名
  • Flutter for HarmonyOS开发指南(六):测试、调试与质量保障体系
  • 可信网站认证哪里有上海网站建设海淘科技
  • 【Java】2025版一天学会Java基础到高级
  • 内核哈希表RTL_DYNAMIC_HASH_TABLE的使用分析与总结
  • 网站的管理更新维护做网站用什么语言比较简单
  • “湖湘杯”——湖南网安基地的四年进化论
  • 网站里自动切换图片怎么做烟台百度网站推广
  • Kafka Partition 深度解析:原理、策略与实战优化
  • 基于深度学习的车辆动态红外特性预测研究
  • 不仅仅是 AI:PawSQL 如何实现“可信 AI SQL 优化”?
  • 网站的备案号网站维护 公司简介
  • Qt之信号和槽
  • Matlab编写压缩感知重建算法集
  • QT-- 理解项目文件
  • app外包网站网站建设是固定资产吗
  • MySQL核心知识点梳理
  • 天长做网站的电子商务网站基础建设
  • 【论文阅读】Hypercomplex Prompt-aware Multimodal Recommendation
  • 邵阳优秀网站建设有什么网站可以做数学题
  • Linux 内存管理 (4):buddy 管理系统的建立
  • 华为、思科、锐捷、华三定时备份配置命令对照表
  • 网站的404如何做湖北做网站的
  • C# 桌面框架与 Qt 对比分析
  • 更新网站要怎么做呢聊天软件
  • 自己开一个网站怎么赚钱广州互联网公司有哪些
  • MATLAB实现图像菲涅尔衍射
  • Linux开源代码汇总