使用 VitePress 将文档部署到 Vercel 后,首次直接访问一切正常,但一旦选择子路径或刷新页面,便会立即跳转到 404 页面或直接卡死,控制台中还会出现无限循环报错。
原因是在 VitePress 中配置了 cleanUrls 选项,用于去除 URL 中的 .html 后缀:
export default defineConfig({
// ...
cleanUrls: true, // 去掉 .html 后缀
// ...
});
然而 Vercel 默认并不处理这种情况,因此导致了上述问题。
解决方法是在项目根目录创建一个 vercel.json 文件:
{
"cleanUrls": true,
"rewrites": [{ "source": "/(.*)", "destination": "/index.html" }]
}
讨论
还没有留言,来留下第一条评论吧!