English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Redirect URL en Node.js:En este tutorial de Node.js, aprenderemos sobre redirección de URL.
La redirección se puede aplicar en las siguientes situaciones:
Algunos recursos se mueven permanentemente a una nueva ubicación y desea redirigir al usuario a la nueva ubicación del recurso movido.
Algunas páginas en la aplicación web web han sido eliminadas y cuando se solicita esa página, desea redirigir al usuario a la página principal o a alguna página personalizada.
Los redireccionamientos HTTP主要有三种类型。
Pero recuerde, los códigos de redirección HTTP (como301,302,307等) afectarán el ranking de la página original o la URL de redirección, y el impacto de cada código de redirección es diferente. Por ejemplo, si ha movido permanentemente el recurso, utilice301 El código HTTP pasará el jugo a la URL de redirección, mientras302o307no.
Para el ejemplo siguiente, consideremos que hay dos páginas: page-a.html y page-b.html, su aplicación web les proporciona servicios. Tenemos un404_Mostrar .html cuando el recurso solicitado no existe.
En este ejemplo, mostraremos el escenario en el que el URL de la solicitud debe ser redirigido. Cuando recibimos una solicitud para page-Cuando se solicita c.html, enviaremos una respuesta de redirección al cliente web (para buscar page-b.html)。
var http = require('http'); var fs = require('fs'); // Crear un servidor http if (req.url == '/page-c.html') { // Usar en la respuesta301(永久移动)Redirigir el código HTTP al page-b.html res.writeHead(301, { "Location": "http://" + req.headers['host'] + '/page-b.html' }); return res.end(); } else { // Para otros URL, intente usar la página para responder console.log(req.url) // Leer el archivo solicitado fs.readFile(req.url.substring(1),}} function(err, data) { if (err) throw err; res.writeHead(2 res.write(data.toString('utf8); return res.end(); ).listen(8085);
Salida del terminal
$ node node-js-http-redirect.js
Abra el navegador, muestre las herramientas para desarrolladores y luego haga clic en la URL "http:// localhost:8085/page-c.html
En la sección "Herramientas para desarrolladores" de "Red", descubrirá que la solicitud se ha redirigido a una nueva página.
Para la primera solicitud, enviamos desde la aplicación Node.js301código de respuesta.
En este ejemplo, mostraremos la situación de no encontrar el archivo solicitado. Pero, no desea mostrar a su cliente web una página404Página de error. En lugar de eso, ¿desea mostrar otra página, como page-a.html.
var http = require('http'); var fs = require('fs'); // Crear un servidor http var filePath = req.url.substring(1); fs.readFile(filePath, function(err, data) { // Si ocurre un error al leer el archivo, redírguelo a page-b.html if (err) { // al usar302 HTTP código de redirección a page-b.html res.writeHead(302, { "Location": "http://" + req.headers['host'] + '/page-b.html' }); return res.end(); res.writeHead(2 res.write(data.toString('utf8); return res.end(); ).listen(8085);
Salida del terminal
$ node node-js-http-redirect-file-not-found.js
Abra el navegador, muestre las herramientas para desarrolladores y luego haga clic en la URL "http:// localhost:8085 / page-n.html
En la sección "Herramientas para desarrolladores" de "Red", descubrirá que la solicitud se ha redirigido a una nueva página, con respuesta que contiene302Código HTTP (temporalmente móvil).