我不确定自己在做什么错,我正在尝试使用npm subdomain
从虚拟子域发出请求。我按照指示https://github.com/edwardhotchkiss/subdomain
var subdomain = require('subdomain');
var express = require('express');
var app = express();
var http = require('http');
var server = http.createServer(app);
app.use(subdomain({ base : 'localhost', removeWWW : true }));
app.get('/subdomain/blog/', function(request, response) {
response.end('BLOG.LOCALHOST: "/"');
});
app.get('/', function(request, response) {
response.end('LOCALHOST: "/"');
});
在我的计算机主机文件中添加了
127.0.0.1 localhost
127.0.0.1 blog.localhost
当我路由到
http://blog.localhost:3000/
时,得到的是返回的LOCALHOST: "/"
而不是BLOG.LOCALHOST: "/"
我不知道为什么,我删除了我的快速路由器,我尝试删除了任何路由逻辑和其他东西,但我仍然不断得到。显然我做错了。我想念什么?
最佳答案
因此,我看到它们将require子域传递到app.use中,然后是params。如果我重新格式化他们的示例,使其看起来更像您的代码:
app.use(require('subdomain')({base:'yourdomain.com'}));;
请注意,它们不会将任何内容传递给require子域。相反,它们在关闭需求之后传入包含基本对象的JS对象。
现在,您的代码如下所示。
app.use(subdomain({base:'localhost',removeWWW:true}));
因此,请尝试以下操作:
app.use(subdomain()({base:'localhost',removeWWW:true}));
或这个:
app.use(require('subdomain')({base:'localhost',removeWWW:true}));
并且让我知道这是否可以解决您的问题。
关于node.js - Node.js子域无法正常工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28661975/