当用户输入无效的url时,如何让node.js服务器将用户重定向到404.html页面?
我做了一些搜索,看起来大多数结果都是针对Express的,但我想用纯node.js编写我的服务器。
发布于 2010-10-31 15:57:19
确定“错误”url的逻辑是特定于您的应用程序的。这可能是一个简单的文件找不到错误或其他东西,如果你正在做一个RESTful应用程序。一旦你弄清楚了这一点,发送一个重定向就像这样简单:
response.writeHead(302, {
'Location': 'your/404/path.html'
//add other headers here...
});
response.end();
发布于 2013-09-29 07:23:18
如果您使用的是ExpressJS,可以使用:
res.redirect('your/404/path.html');
发布于 2010-11-03 14:32:23
要指示缺少的文件/资源并提供404页面,您不需要重定向。在同一请求中,您必须生成状态代码设置为404的响应,并将404HTML页面的内容作为响应正文。下面是用Node.js演示这一点的示例代码。
var http = require('http'),
fs = require('fs'),
util = require('util'),
url = require('url');
var server = http.createServer(function(req, res) {
if(url.parse(req.url).pathname == '/') {
res.writeHead(200, {'content-type': 'text/html'});
var rs = fs.createReadStream('index.html');
util.pump(rs, res);
} else {
res.writeHead(404, {'content-type': 'text/html'});
var rs = fs.createReadStream('404.html');
util.pump(rs, res);
}
});
server.listen(8080);
https://stackoverflow.com/questions/4062260
复制相似问题