Nodejs - URL Yönlendirme

Bir node.js sunucusunun, geçersiz bir url girdiklerinde kullanıcıları 404.html sayfasına yönlendirmesini nasıl sağlarım?

Biraz arama yaptım ve çoğu sonuç Express için gibi görünüyor, ancak sunucumu saf node.js ile yazmak istiyorum.

Çözüm

Yanlış "url" belirleme mantığı uygulamanıza özeldir. RESTful bir uygulama yapıyorsanız, basit bir dosya bulunamadı hatası veya başka bir şey olabilir. Bunu anladıktan sonra, bir yönlendirme göndermek kadar basittir:

response.writeHead(302, {
  'Location': 'your/404/path.html'
  //add other headers here...
});
response.end();
Yorumlar (5)

Kullanmak mümkündür:

res.redirect('your/404/path.html');
Yorumlar (4)

Eksik bir dosya/kaynak olduğunu belirtmek ve bir 404 sayfası sunmak için yönlendirme yapmanıza gerek yoktur. Aynı istekte, durum kodu 404 olarak ayarlanmış ve yanıt gövdesi olarak 404 HTML sayfanızın içeriği ile yanıt oluşturmalısınız. İşte bunu Node.js'de göstermek için örnek kod.

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);
Yorumlar (0)