如何使用express.js在单个Heroku应用中拥有多个子域

时间:2018-12-07 17:45:05

标签: javascript node.js heroku

我正在建立一个具有多个子域网站的网站:

例如 母公司级网站=> www.parentcompany.com

我有多个网站:

  • subcompany1.parentcompany.com
  • subcompany2.parentcompany.com
  • subcompany3.parentcompany.com

在我的Node App中

我的主要server.js文件看起来像这样: (我有一个路由文件,在其中我已将每个公司分开,以便它们拥有自己的一组路由)

// declare dependencies
const subdomain = require('express-subdomain');
const express = require("express");


//Route files
const routes = require("./routes/index");
const company1 = require("./routes/company1");
const company2 = require("./routes/company2");
const company3 = require("./routes/company3");


// State end-points
app.use(subdomain(`company1`, company1));
app.use(subdomain(`company2`, company2));
app.use(subdomain(`company3`, company3));
//main parent end-point
app.use("/", routes);

在Heroku中 全部都推送到Heroku中的单个应用程序中。

然后我像这样添加一个主要域:

+----------------------------+--------------+----------+
|        Domain Name         |  DNS Target  |  CName   |
+----------------------------+--------------+----------+
| parentcompany.com          | <heroku.com> | @        |
| company1.parentcompany.com | <heroku.com> | company1 |
| company2.parentcompany.com | <heroku.com> | company2 |
| company3.parentcompany.com | <heroku.com> | company3 |
+----------------------------+--------------+----------+

问题

当我访问parentcompany.com时,主页加载正常。 当我访问company1.parentcompany.com时,它将再次加载主页。

我检查了控制台日志,但它从未命中company1.parentcompany.com路由。

奇怪的是,使用lvh.me

可以在本地主机上正常工作

0 个答案:

没有答案