我正在使用'子域名'模块创建我的网站的两个版本,' www'或当前版本,' fa14'或存档版本。
var express = require('express');
var compression = require('compression');
var app = express();
app.use(compression());
var subdomainOptions = {
base: 'localhost',
};
app.use(require('subdomain')(subdomainOptions));
app.use('/subdomain/fa14/', express.static(__dirname + '/fa14'));
app.use('/subdomain/www/', express.static(__dirname + '/www'));
app.use(function(req, res) {
res.status('404: Page not found', 404);
});
app.listen(8888);
当访问www.localhost或fa14.localhost时,应用程序的工作方式完全符合预期,但尝试访问" www.localhost / INVALIDURL"或" fa14.localhost / INVALIDURL"或任何其他应该404的路径,连接只是挂起。它应该返回" 404页面未找到"
有人能弄明白为什么最后一条路线不起作用吗?
答案 0 :(得分:3)
res.status()
only sets the status,它不会发送回复。您需要使用res.end()
来结束回复或将res.status()
替换为res.send(404)
,其中设置状态代码并且在一次通话中结束响应。
答案 1 :(得分:0)
您已将res.status
与res.send
混淆。