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