【发布时间】:2018-08-13 11:53:20
【问题描述】:
我有以下:
location /ron-swanson-quotes/ {
return 301 /ron-swanson/;
}
还有一个 SSR React next.js 应用。
此处的重写适用于从外部访问该站点的人,但如果我单击内部链接则无效。 nginx 是否能够监听节点中发生的事情或者 nginx 永远不知道它们?
编辑:当它与外部链接时,它会很好地重定向。当从应用程序 Nginx 日志中单击它时:
[2018-03-05T19:06:13+00:00] #######.xyz 71.211.##.## "GET /communicator/paulo-coelho/ HTTP/1.1" 304 "http://####.xyz/x-paulo-coelho-quotes-that-will-soothe-your-aching-heart/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36" 1.180
谢谢!
【问题讨论】:
-
取决于,你是什么内部链接?它们与这条路径完全匹配,还是略有不同?
-
它们完全匹配路径。我的直觉是 nginx 甚至不知道我编写它的方式,因为 server.js 负责应用程序的路由。内部链接基本上是 React Router / Next Router This 命中 server.js req.path('/next')
-
您的
index.html服务怎么样?从 Nginx 还是从快速路线? -
快递。 Nginx 接收请求但发送 304,所以我认为这就是 express 发挥作用并像往常一样路由它的地方,(正常不是我想要的。Nginx 需要处理它。)
标签: javascript node.js express nginx next.js