我有一个基于Node / Express4的网站,它有两个子域www.awesome.com
和api.awesome.com
。
这很好。
我还有一个临时站点,运行一个单独的Node实例,在staging.awesome.com
运行。我想要实现的目标是在请求生命周期的早期foo.staging.awesome.com
路由到foo.awesome.com
,因此我的暂存网站在www.
和api.
之间完全相同作为我的生产网站的方式。
我尝试在app.js中尽早添加以下内容:
app.use('/', function(req, res, next) {
var hostname = req.hostname;
var newHostname = hostname.replace(/staging\./g, "");
req.hostname = newHostname;
console.log(newHostname);
console.log(req.hostname);
next();
});
newHostname
正是我想要的,但似乎我不能像这样在请求上设置主机名。日志显示req.hostname
尚未更改。
所以,我的问题是。如何覆盖请求中的主机名,或者如何有条件地删除最后一个子域。有效:)