跟踪带有“&”号且不带前端javascript的链接点击

问题描述

我在NodeJS应用程序中提供了指向外部网站的链接。这些需要大量的精力来寻找,我想跟踪点击次数。我更喜欢避免在浏览器中禁用前端JavaScript。到目前为止,我一直在使用查询参数,例如:

router.get('/redir',async (req,res) => {
  let url = req.params.url;
  // my own tracking logic
  // ...
  res.redirect(url);
});

对于已包含GET参数,问号和&符的链接,此代码将失败。我尝试了这个:

router.get('/redir/:url',res) => {
  let url = req.params.url;
  res.redirect(url);
});

并且甚至没有调用该路线。

如何跟踪已经包含?&?链接点击

解决方法

感谢评论,这是一种处理方法:

router.get('/redir',async (req,res) => {
  let url = req.originalUrl.replace("/redir?url=","");
  // logic
  // ....
  res.redirect(url);
});