How to Redirect a Web Page with Node.js
Let us show you how to redirect a web page with Node.js.
First step is to include the http module and create a new server, then use the createServer method (.writeHead and .end ):
Use the createServer method:
Example
var http = require("http");
http
.createServer(function (req, res) {
res.writeHead(301, { Location: "http://w3docs.com" });
res.end();
})
.listen(8888);
Use url module to redirect all the posts in the /blog section:
Example
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);
.writeHead() function lets you attach the pathname from the request to the end of URL string. So you can redirect to the same path on your new site.
To request for a page-c.html send a redirect response (to look for page-b.html) to the web-client:
Example
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);
Learn more about how to redirect pages with HTML, JavaScript, PHP, and Apache