我有一个小型网络服务器,用作旧网址的优化程序,它匹配旧网址和重定向到新的更好的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)
的内容?