最近,我在Themeforest上购买了Next.js模板,然后尝试将其部署到Zeit Now。
这是一个使用Lerna和Yarn工作区的monorepo。 Next.js应用程序的代码位于packages/landing
文件夹内
索引页(位于/
路由的页面)一切都很好,我可以毫无问题地重新加载它。
当我尝试在pages
文件夹中添加新页面时出现问题。例如/privacy-policy
或/terms-of-service
,...
如果我通过索引页面中的<Link />
浏览这些页面,则效果很好。但是,如果我尝试重新加载这些页面或向我的用户发送直接链接到他们,则他们将无法访问这些页面。而是,我的用户将看到404 NOT FOUND。
转到此页面https://superprops-2-r09pdhfab.now.sh/,您可以明白我的意思。重新加载时效果很好。
但是,如果您打开此页面https://superprops-2-r09pdhfab.now.sh/saas,则会看到404(/saas
的代码也已部署)
在我的localhost开发中,重新加载时它对所有页面都适用。因此,我认为问题出在Zeit Now配置中。
这是now.json
中的代码:
{
"version": 2,"builds": [
{ "src": "packages/landing/package.json","use": "@now/static-build" }
],"routes": [
{
"src": "/(.*)","dest": "/packages/landing/$1","headers": {
"x-request-path": "$1"
}
}
]
}
如何解决此问题?谢谢。