如何为Docusaurus页面设置多个URL访问路径?
在Docusaurus中实现单页面多URL访问的最优方案
当然有更优的方案,不需要复制页面内容,以下两种方法可以满足需求:
方法1:利用文档Frontmatter的aliases字段(仅适用于文档页面)
如果你的页面是放在docs目录下的文档页面,直接在目标页面的Frontmatter中添加aliases配置即可:
--- slug: /foo aliases: - /bar --- <!-- 页面内容 -->
配置后,用户访问/bar会自动跳转到/foo,所有内容都只需要维护一份。
方法2:使用客户端重定向插件(适用于所有页面类型)
如果你的页面是自定义页面(比如src/pages下的页面),可以使用Docusaurus官方的@docusaurus/plugin-client-redirects插件实现重定向:
- 在
docusaurus.config.js中配置插件,添加重定向规则:
module.exports = { // 其他配置项 plugins: [ [ '@docusaurus/plugin-client-redirects', { redirects: [ { from: '/bar', to: '/foo', }, ], }, ], ], };
这种方式支持自定义页面、文档页面等所有类型的URL重定向,同样只需要维护原页面的内容。
两种方案都避免了内容复制的冗余问题,后续修改页面只需要更新原文件即可,维护成本更低。
内容的提问来源于stack exchange,提问作者DDDD
相关产品推荐
相关产品推荐

