English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
URL de Redirecionamento Node.js: Neste tutorial Node.js, vamos aprender sobre redirecionamento de URLs.
O redirecionamento pode ser aplicado nas seguintes situações:
Alguns recursos serão movidos permanentemente para uma nova localização e você deseja redirecionar o usuário para a nova localização do recurso movido.
Alguns páginas do aplicativo web foram removidas e, quando solicitadas, você deseja redirecionar o usuário para a homepage ou某些páginas personalizadas.
Existem três tipos principais de redirecionamento HTTP.
Mas lembre-se, os códigos de redirecionamento HTTP (como301,302,307etc) afetará a classificação da página original ou redirecionada e cada código de redirecionamento tem um impacto diferente. Por exemplo, se você mover permanentemente um recurso, use-o no response301 O código HTTP passará o suco para a URL de redirecionamento, enquanto302ou307não será.
Para o exemplo a seguir, considere que existem duas páginas: page-a.html e page-b.html, seu aplicativo web fornece serviços para eles. Temos um404_exibir .html quando o recurso solicitado não existe.
Neste exemplo, vamos mostrar que a URL da solicitação deve ser redirecionada. Quando recebemos uma solicitação para page-ao solicitar o c.html, enviaremos uma resposta de redirecionamento para o cliente web (para encontrar page-b.html)。
var http = require('http'); var fs = require('fs'); // Crie um servidor HTTP if (req.url == '/page-c.html') { // Usar no response301(Movimento permanente) Redirecionar HTTP para page-b.html res.writeHead(301, { "Location": "http://" + req.headers['host'] + '/page-b.html' }); return res.end(); } else { // Para outros URLs, tente usar a página para responder console.log(req.url) // Ler o arquivo 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);
Saída do terminal
$ node node-js-http-redirect.js
Abra o navegador, mostre as ferramentas de desenvolvedores e clique no URL 'http:// localhost:8085/page-c.html
Na seção 'Rede' das ferramentas de desenvolvedores, você encontrará a solicitação redirecionada para uma nova página.
Para a primeira solicitação, enviamos do aplicativo Node.js301código de resposta.
Neste exemplo, vamos mostrar o caso de não encontrar o arquivo solicitado. Mas, você não quer exibir para o seu cliente Web uma página sem graça,404Página de erro. Em vez disso, você gostaria de exibir outra página, por exemplo, page-a.html.
var http = require('http'); var fs = require('fs'); // Crie um servidor HTTP var filePath = req.url.substring(1); fs.readFile(filePath, function(err, data) { // Se houver erro ao ler o arquivo, redirecione-o para page-b.html if (err) { // ao usar302 HTTP código de redirecionamento para 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);
Saída do terminal
$ node node-js-http-redirect-file-not-found.js
Abra o navegador, mostre as ferramentas de desenvolvedores e clique no URL 'http:// localhost:8085 / page-n.html
No 'Ferramentas de Desenvolvedores' na seção 'Rede', você encontrará a solicitação redirecionada para uma nova página, com302Código HTTP (temporário) de redirecionamento.