Express - 为不同的子域设置不同的路由

时间:2014-10-23 16:28:09

标签: node.js express routing subdomain

我有一个应用程序正在运行,我希望为不同的子域提供不同的路由。这就是我的尝试:

app.get('*', function(req, res, next){
  if(req.headers.host == 'sub.example.com') { //if it's a sub-domain
    app.use('/', sub_routes);
  }else{
    app.use('/', routes);
  }
  next();
});

但这似乎并没有真正起作用。我收到404错误。当我在该块之外设置app.use('/', routes);时,路由可以工作,但是我无法根据子域设置它们。我猜测问题是我正在尝试在已设置的路由中定义路由,但我不确定如何有条件地设置这些路由。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:3)

我从来没有用过这个,但你试过https://www.npmjs.org/package/express-subdomain

它看起来完全覆盖了您的用例。

您也可以在每个子域使用不同的节点进程,并在nginx或Apache中执行适用的流程。