固定路由不适用于特定网址

时间:2019-09-11 15:00:59

标签: javascript node.js fastify

我的代码中包含此路由器

fastify.get('/:link', (req, reply) => {
    req.params.url = req.host+req.url;
    reply.view("template.ejs",req.params);

});

我正在尝试捕获URL并在模板中处理它们。这些网址都是encodeURIComponent的转义符。由于某些原因,某些URL将返回未找到的404,但我不确定为什么。 这是有效的链接。

http://127.0.0.1:3000/https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fe%2Fee%2FChain_link_icon.png

这是行不通的。

http://127.0.0.1:3000/https%3A%2F%2Fs7386.pcdn.co%2Fwp-content%2Fuploads%2F2016%2F07%2Fadd-on-direct-link-tracking-771x386.png

错误是


{
"message": "Route GET:/https%3A%2F%2Fs7386.pcdn.co%2Fwp-content%2Fuploads%2F2016%2F07%2Fadd-on-direct-link-tracking-771x386.png not found",
"error": "Not Found",
"statusCode": 404
}

我正在将Windows 10与节点v12.8.0结合使用并固定2.8.0

1 个答案:

答案 0 :(得分:0)

原因是该URL超过100个字符,出于某些原因,该字符数已达到上限。

可以使用maxparamlength进行更改。我还询问了here,希望以后该错误会得到解决。