我在Express上运行节点应用程序。我想设置两种不同的帐户类型(一种针对买家,一种针对卖家),并通过不同的子域(即buyer.example.com和sellers.example.com)进行访问。我不确定如何在本地设置它。我知道我可以在我的计算机上编辑主机文件,以*.localhost
解析为127.0.0.1
,但这并不能解决我的问题。在这种情况下,buyers.localhost/login
和sellers.localhost/login
将路由到同一个地方。这是一个常见问题,如果是这样,处理此问题的标准方法是什么?我有哪些选择来分离处理两种帐户类型的逻辑?
答案 0 :(得分:2)
首先添加:
app.get('*', function(req, res, next){
if (req.headers.host == 'buyers.localhost:5000') { //Port is important if the url has it
req.url = '/buyers' + req.url;
}
else if(req.headers.host == 'sellers.localhost:5000') {
req.url = '/sellers' + req.url;
}
next();
});
然后:
app.get('/login', function(){
//Default case, no subdomain
})
app.get('/buyers/login', function(){
//Buyers subdomain
})
app.get('/sellers/login', function(){
//Sellers subdomain
})
在此了解到这一点:https://groups.google.com/forum/#!topic/express-js/sEu66n8Oju0