English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico NodeJS

Express.js NodeJS

Buffer & URL NodeJS

MySql NodeJS

MongoDB NodeJS

Arquivo (FS) NodeJS

Outros NodeJS

Redirecionamento de URL Node.js

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.

Exemplo de URL de Redirecionamento Node.js

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.

Exemplo de redirecionamento de URL do Node.js – erro de arquivo não encontrado

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.