让我们向我们展示如何使用 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
