首页 > 解决方案 > 从节点中不存在的路由重定向?

问题描述

在我的应用程序中,如果我尝试输入一些不存在的路线,可以说 -www.mydomain.com/nonExistingRoute我得到一个带有文本的空白页:Cannot GET /nonExistingRoute/

更重要的是 - 如果我在本地执行此操作(在本地主机上以开发模式运行应用程序时),如果我执行相同操作,它会正确输入/路由(因为已将其设置在客户端路由中)。但它在生产模式下(在我的域上)无法正常工作。

app.js在节点中的应用配置:

app.use('/api', apiRouter);  // only api responds
app.use('*', express.static('public'));  // serving static files

注意:我有服务器端渲染处于活动状态。所以每条路线,就像/是在服务器端预渲染的。

如果有人获得不存在的路线(但没有/api),我该怎么办?他被重定向到/?谢谢!

标签: javascriptnode.js

解决方案


只需将其添加为最后一条规则:

  app.use((_, res) => res.redirect("/"));

推荐阅读