Comment Rediriger une Page Web Avec Node.js

Nous allons vous montrer comment rediriger une page Web avec Node.js.

Premièrement, on doit inclure un module http et créer un nouveau serveur, ensuite, utilisez la méthode createServer (.writeHead et .end ):

1. Utilisez la méthode createServer :

Exemple

var http = require("http");

http.createServer(function(req, res) {
  res.writeHead(301,{Location: 'http://w3docs.com'});
  res.end();
}).listen(8888);

2. Utilisez le module url pour rediriger tous les messages dans la section /blog:

Exemple

var http = require("http");
var url = require("url");

http.createServer(function(req, res) {
  var pathname = url.parse(req.url).pathname;
  res.writeHead(301,{Location: 'http://w3docs.com/' + pathname});
  res.end();
}).listen(8888);

La fonction .writeHead() vous permet d’attacher le chemin d'accès de la requête à la fin de la chaîne d'URL. Donc, vous pouvez rediriger vers le même chemin sur votre nouveau site.

3. Demander une page-c.html envoyer une réponse de redirection (rechercher la page-b.html) au client Web:

Exemple

var http = require('http');
var fs = require('fs');
 
// create a http server
http.createServer(function (req, res) {
    
    if (req.url == '/page-c.html') {
        // redirect to page-b.html with 301 (Moved Permanently) HTTP code in the response
        res.writeHead(301, { "Location": "http://" + req.headers['host'] + '/page-b.html' });
        return res.end();
    } else {
        // for other URLs, try responding with the page
        console.log(req.url)
        // read requested file
        fs.readFile(req.url.substring(1),
            function(err, data) {        
                if (err) throw err;
                res.writeHead(200);
                res.write(data.toString('utf8'));
                return res.end();
        });
    }
}).listen(8085);