我有一个单页应用程序+neneneba API,正在部署到Vercel。
我目前正在尝试在我的vercel.json中添加一些配置:
- 重定向不在根目录的调用(例如
/login) to
index.html`,以便我可以使用html历史API(即react-router的浏览器路由器( - 不期望
/api
端点,其中我有一些动态路径(例如/files/[fileId]/[checksum].ts
(
如何在Vercel中创建一个重写来实现这一点?
我听从了这里的建议:https://vercel.com/docs/configuration#routes/advanced/spa-后备
{
"rewrites": [{ "source": "/(.*)", "destination": "/index.html" }]
}
然而,这确实将具有动态路径的API端点重定向到index.html文件,我只希望它是API。
有什么想法吗?
您可以使用负前瞻正则表达式来检查url是否包含api
。
/(?!api/.*).*/
{
"rewrites": [
{
"source": "/((?!api/.*).*)",
"destination": "/index.html"
}
]
}