我有一个运行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",
},
];