Node Express 301 перенаправляет точное совпадение с параметром строки запроса - PullRequest
0 голосов
/ 29 июня 2019

У меня есть сервер Node, на котором работает экспресс, и мне нужно обработать 301 перенаправления, которые соответствуют параметру строки запроса.

т.е. старый URL: /some-dir/somefile.aspx?querystring=QWERTY

строка запроса уникальна и должна перенаправлять на разные URL, основываясь на этом.

Я пробовал различные способы с экспресс-перенаправлением, а также с 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",
  },
];
...