首页 > 解决方案 > NextJS 静态 HTML 导出并将其托管在 IIS 中

问题描述

我在微软的 IIS 部署中遇到问题,通过在服务器中部署“下一个导出”的静态 HTML 生成代码。

代码运行正常,我可以通过单击 HTML 文档中的链接访问所有不同的页面。但是,如果我手动复制链接并将其粘贴到浏览器的 url 栏中,则会显示以下错误

在此处输入图像描述

我托管了现场示例,请 单击此处

如果我们通过主页遍历到另一个页面,那么它不会造成任何问题。但是,如果我们在浏览器的 url 栏中手动插入“beta.amarstock.com/chart”,那么它会显示给定的错误......

现在要做什么?这是下一个导出命令的正常行为吗?

提前致谢

标签: reactjsiisdeploymentnext.jsstatic-site

解决方案


对于这个问题,您需要检查您的 IIS 或后端代码中是否有任何重定向/重写规则。我测试点击主页上的“图表”,浏览器中的url会转到https://beta.amarstock.com/chart,但我发现它实际上请求了另一个url,如下图所示:

在此处输入图像描述

根据上面的截图,我们可以发现它https://www.amarstock.com/Chart/draw...其实是request。所以如果https://beta.amarstock.com/chart直接在浏览器中输入url,会显示404 not found(还要注意大小写Chartchart)。

所以我猜它可能存在将重定向/重写到 urlhttps://www.amarstock.com/Chart/draw...或 IIS url 重写规则的逻辑。请检查。


推荐阅读