使用新URL重新运行路由

时间:2017-03-15 10:24:21

标签: javascript node.js http express redirect

我有一个小型网络服务器,用作旧网址的优化程序,它匹配旧网址和重定向到新的更好的SEO优化网址。

其中一个网址如下:

login.php?return=http://example.com/index.php?page=protected_page

现在优化服务后,http://example.com/index.php?page=protected_page现在只是/page/protected_page/并且内部有身份验证,所以很自然地我会像

一样进行匹配
'login.php': function(req, res, next) {
  if (req.query.return) {
    res.redirect(req.query.return);
  }
}
'index.php': function(req, res, next) {
  if (req.query.page === 'protected_page') {
    // redirect to proper seo page without index.php
    res.redirect(...);
  }
}

在这种情况下会发生的情况是,首先将浏览器重定向到req.query.return中的URL,然后express将通过index.php上的匹配响应新请求。这没关系,但如果基础设施很复杂,客户端浏览器需要一些时间来发出新请求(如果访问网站的人在技术上远离服务器,则甚至可能需要0.5-1秒)。

任何方式我都可以使用req.query.return并拥有类似app.processNewUrl(req.query.return)的内容?

0 个答案:

没有答案