Node Express 301使用查询字符串参数重定向完全匹配

时间:2019-06-29 19:56:41

标签: express redirect middleware nodejs-server

我有一个运行express的节点服务器,需要处理与查询字符串参数匹配的301重定向。

即旧网址:/some-dir/somefile.aspx?querystring=QWERTY

查询字符串是唯一的,需要基于该字符串重定向到不同的URL。

我已经尝试了多种方法,包括Express重定向以及express-htaccess-middleware和其他npm软件包。

我当前创建301的函数:

redirects.forEach(({ oldUrl, newUrl, status = 301, method = "get" }) => {
  server[method](oldUrl, (req, res) => {
    const query = qs.stringify(req.query);
    const newUrlWithQuery = `${newUrl}?${query}`;
    res.redirect(status, newUrlWithQuery);
  });
});

具有路径的对象:

const redirects: RedirectType = [
  {
    oldUrl: "/some-dir/somefile.aspx?querystring=QWERTY",
    newUrl: "/new-dir/somefile",
  },
];

0 个答案:

没有答案