Como faço para que um servidor node.js redirecione os usuários para uma página 404.html quando eles inserem um url inválido?
Fiz algumas pesquisas e parece que a maioria dos resultados são para Express, mas quero escrever meu servidor em node.js. puro.
Respostas:
A lógica de determinar um url "errado" é específica para seu aplicativo. Pode ser um erro de arquivo simples não encontrado ou outra coisa se você estiver fazendo um aplicativo RESTful. Depois de descobrir isso, enviar um redirecionamento é tão simples como:
fonte
Location: /
e isso o redirecionará para a pasta raiz.'Location': '/path/to/my/servers/content'
É possível usar:
fonte
Para indicar um arquivo / recurso ausente e servir uma página 404, você não precisa redirecionar. Na mesma solicitação, você deve gerar a resposta com o código de status definido como 404 e o conteúdo da sua página HTML 404 como corpo da resposta. Aqui está o código de amostra para demonstrar isso em Node.js.
fonte
404 com Conteúdo / Corpo
Redirecionar para Http s
Considere onde você usa isso (por exemplo, apenas para solicitação http), para que você não obtenha redirecionamentos infinitos ;-)
fonte
Usei uma instrução switch, com o padrão como 404:
fonte
Experimente isto:
fonte
Express
trecho de código que OP pediunode.js
código purothis
parte. No NodeJS, você escreve um manipulador que aceita dois parâmetros(request, response)
e todas as chamadas na resposta estão noresponse
objeto.Você deve usar o seguinte código:
fonte
Use o código a seguir; isso funciona bem em Nodejs Nativos
fonte