修复以双斜杠开头的 WhatsApp 无限重定向
Fix WhatsApp infinite redirection starting with double slashes
我有一个网络服务器,路由如下:
router.get("/inicio", async (req, res) => {
// logic ...
return res.render("template");
}
以及其他一切的路线:
app.get("*", async (req, res) => {
await authentication.getLocalInfo(req);
return res.redirect("/404");
});
当我在 WhatsApp 上与“https://emocoes.org/inicio”分享我的网站时,服务器快速连续记录以下请求,服务器日志中大约有 70 MB 的文本- 无限循环:
2022-03-06T10:26:16.176Z - //inicio
2022-03-06T10:26:16.334Z - //inicio/404
2022-03-06T10:26:16.492Z - //inicio/404/404
2022-03-06T10:26:16.652Z - //inicio/404/404/404
2022-03-06T10:26:16.801Z - //inicio/404/404/404/404
2022-03-06T10:26:17.027Z - //inicio/404/404/404/404/404
2022-03-06T10:26:17.191Z - //inicio/404/404/404/404/404/404
2022-03-06T10:26:17.329Z - //inicio/404/404/404/404/404/404/404
2022-03-06T10:26:17.520Z - //inicio/404/404/404/404/404/404/404/404
2022-03-06T10:26:17.789Z - //inicio/404/404/404/404/404/404/404/404/404
2022-03-06T10:26:17.955Z - //inicio/404/404/404/404/404/404/404/404/404/404
2022-03-06T10:26:18.093Z - //inicio/404/404/404/404/404/404/404/404/404/404/404
...
另一个例子:/diadopai
应该重定向到 /registo
而不是重定向到不存在的 /diadopai/registo
,等等。
我怎样才能让 WhatsApp 请求正确的路线,或者避免这种近乎无限的循环?
您的重定向不是绝对的,而是以当前路径为基础。试试这个:
return res.redirect(req.protocol + "://" + req.headers.host + "/404");
另外,你应该创建一个路由来处理 /404
否则它会无限循环自己。这应该显示错误页面等,并且不应重定向到新的任何地方。
我有一个网络服务器,路由如下:
router.get("/inicio", async (req, res) => {
// logic ...
return res.render("template");
}
以及其他一切的路线:
app.get("*", async (req, res) => {
await authentication.getLocalInfo(req);
return res.redirect("/404");
});
当我在 WhatsApp 上与“https://emocoes.org/inicio”分享我的网站时,服务器快速连续记录以下请求,服务器日志中大约有 70 MB 的文本- 无限循环:
2022-03-06T10:26:16.176Z - //inicio
2022-03-06T10:26:16.334Z - //inicio/404
2022-03-06T10:26:16.492Z - //inicio/404/404
2022-03-06T10:26:16.652Z - //inicio/404/404/404
2022-03-06T10:26:16.801Z - //inicio/404/404/404/404
2022-03-06T10:26:17.027Z - //inicio/404/404/404/404/404
2022-03-06T10:26:17.191Z - //inicio/404/404/404/404/404/404
2022-03-06T10:26:17.329Z - //inicio/404/404/404/404/404/404/404
2022-03-06T10:26:17.520Z - //inicio/404/404/404/404/404/404/404/404
2022-03-06T10:26:17.789Z - //inicio/404/404/404/404/404/404/404/404/404
2022-03-06T10:26:17.955Z - //inicio/404/404/404/404/404/404/404/404/404/404
2022-03-06T10:26:18.093Z - //inicio/404/404/404/404/404/404/404/404/404/404/404
...
另一个例子:/diadopai
应该重定向到 /registo
而不是重定向到不存在的 /diadopai/registo
,等等。
我怎样才能让 WhatsApp 请求正确的路线,或者避免这种近乎无限的循环?
您的重定向不是绝对的,而是以当前路径为基础。试试这个:
return res.redirect(req.protocol + "://" + req.headers.host + "/404");
另外,你应该创建一个路由来处理 /404
否则它会无限循环自己。这应该显示错误页面等,并且不应重定向到新的任何地方。