VitePress是否支持文章路由别名?需多URL访问同一文章
解决VitePress路由别名(多URL指向同一文章)的方案
要让多个URL指向同一篇文章并保留默认路由,你可以通过以下两种方法实现:
方法一:使用VitePress原生rewrites配置(推荐)
修改vitepress.config.js的rewrites字段,同时映射原路由和别名路由,确保两者都能访问目标文章:
export default { rewrites: { // 让 /introduction 指向目标文章路径 '/introduction': '/articles/204273555-introduction', // 兼容静态生成后的HTML文件访问 '/introduction.html': '/articles/204273555-introduction.html' }, sidebar: { '/': [ { text: "Introduction", link: "/articles/204273555-introduction" // 侧边栏可任选其中一个路由 } ] } }
此配置下,/introduction和/articles/204273555-introduction会同时指向同一篇文章,不会互相覆盖。
方法二:创建镜像别名文件
如果rewrites配置未达预期,可在docs根目录下创建introduction.md文件,通过内容引入实现镜像访问:
--- layout: doc --- {% include "articles/204273555-introduction/index.md" %}
这样访问/introduction时会直接渲染目标文章的内容,同时原路径/articles/204273555-introduction仍可正常访问。
注意事项
- rewrites配置的键是用户访问的URL路径,值是目标文件相对于docs目录的路径,不要写反方向。
- 静态部署时,VitePress会根据rewrites自动生成对应路径的HTML文件,无需额外操作。
- 避免将原文件路径映射到其他路径,否则会导致原路由失效(这是你之前配置失效的核心原因)。
内容的提问来源于stack exchange,提问作者Farhan Ali
相关产品推荐
相关产品推荐

