Node.js:301重定向非www而不表达

时间:2013-07-27 13:11:36

标签: node.js

对于现有项目,我只想简单地将www.mysite.com重定向到mysite.com(因为cookie问题,www。上的cookie无法访问非www版本)。我不想包括快递。

我怎样才能做这个简单的改变?

2 个答案:

答案 0 :(得分:5)

我认为这是你正在寻找的东西:

var http = require("http");

    http.createServer(function (req, res) {
    res.writeHead(301, {"Location": "http://example.com"});
    res.end();

}).listen(80);

答案 1 :(得分:1)

更新:这不是问题的合适答案。

为什么不尝试使用此

过滤非www请求
app.get ('/*', function (req, res, next){
if (req.headers.host.match(/^www\./))

  {
    res.writeHead (301, {'Location': 'http://example.com'});

    }
else { 

   return next();
    }

} );

您应该只考虑快递,如果您想在快递之前重定向,那么您应该在快递或任何反向代理服务器之前尝试Nginx,以便在发送到快递之前过滤请求。 < / p>