如何使用 Node.js 重定向网页

让我们向我们展示如何使用 Node.js 重定向网页。

第一步是包含 http 模块并创建一个新服务器,然后使用 createServer 方法(.writeHead 和 .end):

使用 url 模块重定向:

例子

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://onitroad.com/' + pathname});
  res.end();
}).listen(8888);

.writeHead() 函数允许我们将请求中的路径名添加到 URL 字符串的末尾。
因此,我们可以重定向到新站点上的相同路径。

向 web-client 发送重定向响应:

例子

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

使用 createServer 方法:

例子

var http = require("http");
http.createServer(function(req, res) {
  res.writeHead(301,{Location: 'http://onitroad.com'});
  res.end();
}).listen(8888);
日期:2020-06-02 22:18:53 来源:oir作者:oir