表达res.redirect()表现得非常奇怪

时间:2012-07-03 15:39:30

标签: javascript node.js redirect express connect

我正在使用vhost connect / express中间件的自定义版本,在其中我检查www子域。如果我找到该子域,那么我将重定向到没有www的主机+路径。例如,如果我转到www.google.com,我想重定向到google.com。我打电话给:

if (subdomain === "www") {
  res.redirect(req.headers.host.split('.').slice(1).join('.') + req.url);
}

但是,这会将我重定向到:www.google.comgoogle.com,因为它会将新网址附加到原始网址。为什么要这样做?

1 个答案:

答案 0 :(得分:1)

尝试在协议前加上:

res.redirect('http://' + req.headers.host.split('.').slice(1).join('.') + req.url);