Để cho biết tệp/tài nguyên bị thiếu và phục vụ trang 404, bạn không cần chuyển hướng. Trong cùng một yêu cầu, bạn phải tạo phản hồi với mã trạng thái được đặt thành 404 và nội dung của trang HTML 404 của bạn làm nội dung phản hồi. Đây là mã mẫu để minh họa điều này trong 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);
Nguồn
2010-11-03 06:32:22
Tôi đã từng tin rằng ứng dụng của tôi tốt hơn trong các node.js thuần túy, nhưng đã rất hài lòng sau khi cài đặt nhanh. Tôi không thể tưởng tượng một kiến trúc dịch vụ web SPA/RESTful nút mà không thể hiện ngay bây giờ. – Graham