4

我的代码中有这个路由器

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

});

我正在尝试捕获 URL 并在模板中处理它们。URL 都被encodeURIComponent转义了。出于某种原因,某些 URL 会返回 404 not found 我不知道为什么。这是有效的链接。

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
}

我正在使用带有节点 v12.8.0 和 fastify 2.8.0 的 Windows 10

4

1 回答 1

5

原因是 URL 超过 100 个字符,出于某种原因,这是最大值。

它可以通过使用maxparamlength进行更改。我也在这里问过,希望将来会更改错误。

于 2019-09-11T20:22:16.317 回答