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);