【问题标题】:Express detect if request came from a subdomain?快速检测请求是否来自子域?
【发布时间】:2015-04-30 16:53:02
【问题描述】:

我正在使用 npm 子域,为了保持路由干净,我想做类似的事情。

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

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

});

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

如果用户通过非子域路由登录,它使用 ajax 渲染视图,所以我需要发送一个 200 状态说明用户有效。

我认为这比每个都有两个单独的回调路由要干净得多。

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

我知道有req.headers.origin,但我想知道是否有更相关的方法,所以在本地和生产之间来回切换时我不必更改它。

【问题讨论】:

    标签: node.js express routing routes


    【解决方案1】:

    使用req.subdomains,这将为您提供网址中使用的子域列表。 Here's 我从那里得到信息的。

    【讨论】:

    • 哇,我已经接近了,我尝试req.subdomain 只是为了测试它,但一无所获。我还检查了req 对象,但找不到任何东西。但它奏效了,了不起的人!
    • 没问题,有更多问题请参考文档expressjs.com/4x/api.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-05
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    • 2023-02-14
    相关资源
    最近更新 更多