快速检测请求是否来自子域?

Mic*_*bry 12 routing routes node.js express

我正在使用npm子域,并保持路由清洁我想做的事情.

router.get('/login_success',function(req,res) {

  if(req.subdomain) {
    res.redirect('/');
  } else {
    res.sendStatus(200);
  } 

});
Run Code Online (Sandbox Code Playgroud)

在上文中,如果用户通过子域登录应用程序,我将重定向到呈现配置文件的子域根.

如果用户通过非子域路由登录,则使用ajax呈现视图,因此我需要发送200状态,说明用户有效.

我认为这更加干净,每个都有两个单独的回调路由.

所以我的问题是,有没有办法检测req是来自子域还是常规域.

我知道有,req.headers.origin但我想知道是否有更相对的方式,所以当在本地和生产之间来回时,我不必改变它.

MJP*_*eld 19

使用req.subdomains,这将为您提供网址中使用的子域列表.这是我从中获取信息的地方.

  • 没问题,任何更多问题请参阅文档,http://expressjs.com/4x/api.html (2认同)