Javascript 使用新URL重新运行路由
我有一个小型的web服务器,作为旧URL的优化器,它匹配旧URL并重定向到新的更好的SEO优化URL 其中一个url类似于:Javascript 使用新URL重新运行路由,javascript,node.js,http,express,redirect,Javascript,Node.js,Http,Express,Redirect,我有一个小型的web服务器,作为旧URL的优化器,它匹配旧URL并重定向到新的更好的SEO优化URL 其中一个url类似于: login.php?return=http://example.com/index.php?page=protected_page 在优化了服务之后,它现在只是/page/protected\u page/,并且里面有身份验证,所以我自然会放一个匹配项,比如 'login.php': function(req, res, next) { if (req.query.
login.php?return=http://example.com/index.php?page=protected_page
在优化了服务之后,它现在只是/page/protected\u 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)