Erro 404 Not Found: o que significa e como corrigir
RESPOSTA DIRETA
HTTP 404 Not Found significa que o servidor foi alcançado, mas não conseguiu encontrar uma representação atual do recurso solicitado. Primeiro, verifique na URL a ortografia, o uso de maiúsculas e minúsculas e caminhos desatualizados. Se você administra o site, examine as rotas da aplicação, as regras de rewrite, os arquivos publicados, a configuração do proxy e os links internos.
Pontos principais
- Um 404 confirma que um servidor HTTP retornou uma resposta; ele é diferente de falhas de DNS, TLS e conexão.
- URLs digitadas incorretamente, desatualizadas, excluídas ou movidas são causas comuns, mas caminhos válidos também podem falhar por causa de roteamento, rewrites ou deployments.
- Compare o caminho que falha com um caminho conhecido por funcionar e examine os logs do servidor ou da aplicação para restringir a causa.
- Redirecione permanentemente o conteúdo movido para a substituição relevante mais próxima — não automaticamente para a página inicial.
- Uma página personalizada de Not Found deve continuar retornando o status HTTP
404, não200.
Site Administrator
O que este erro significa e como reconhecê-lo
- Uma página exibe 404, Not Found ou uma mensagem personalizada de página não encontrada, enquanto outras páginas do mesmo site carregam normalmente.
- Uma requisição de API retorna 404 mesmo que o hostname e o servidor estejam acessíveis.
- Uma URL que funcionava anteriormente começa a retornar 404 após um deployment, uma migração, uma alteração de permalink ou uma atualização da aplicação.
- Resultados de busca, favoritos ou links internos levam a conteúdo que não está mais disponível.
- Vários caminhos não relacionados falham após uma alteração na configuração do servidor web, reverse proxy ou rewrite.
Causas principais, por probabilidade
Causas prováveis, das mais comuns às menos comuns:
- URL digitada incorretamente ou incompleta: Um erro de ortografia, um segmento de caminho ausente ou o uso incorreto de maiúsculas e minúsculas aponta para um recurso que não existe.
- Conteúdo excluído ou movido: A página ou o arquivo foi removido, renomeado ou realocado sem um redirect relevante.
- Link interno ou externo quebrado: Um link ainda referencia uma URL obsoleta, geralmente após uma migração ou alteração na estrutura de URLs.
- Rota de aplicação ausente: A aplicação publicada não define a página ou o endpoint de API solicitado, ou o caminho usa a versão ou o prefixo incorreto da API.
- Regras incorretas de rewrite ou permalink: O Apache, o Nginx, um roteador de framework ou uma configuração de CMS não consegue encaminhar um caminho válido ao handler pretendido.
- Problema de deployment ou document root: Um arquivo, uma rota ou o resultado do build não foi publicado, ou o servidor está servindo um diretório diferente do esperado.
- Incompatibilidade no reverse proxy: Um proxy ou gateway envia a requisição para a aplicação ou o backend errado, onde esse caminho é desconhecido.
- Diferença no uso de maiúsculas e minúsculas do caminho: Uma URL que funciona em um ambiente pode falhar em um sistema de arquivos ou servidor que diferencia maiúsculas de minúsculas quando a capitalização não corresponde à rota ou ao nome do arquivo.
Como corrigir
Se você está visitando o site
- Verifique novamente o endereço, incluindo ortografia, capitalização, hifens, extensões de arquivo e cada segmento do caminho.
- Remova o segmento final suspeito do caminho ou navegue a partir da página inicial do site e da busca integrada para localizar a página atual.
- Se a página foi acessada por um favorito ou resultado de busca, procure uma versão mais recente do conteúdo em vez de atualizar repetidamente a mesma URL.
- Informe ao responsável pelo site sobre um link confiável quebrado, fornecendo a URL exata e a página onde você o encontrou.
Se você administra o site
- Confirme a requisição que falha. Registre o caminho exato, o método HTTP, o host, a query string e o horário da falha. Verifique se o problema afeta uma URL, uma família de rotas ou o site inteiro.
- Decida se o recurso deveria existir. Verifique o registro de conteúdo, os arquivos publicados ou a definição da rota da aplicação. Um recurso removido deliberadamente normalmente deve continuar retornando 404, a menos que exista uma substituição realmente relevante.
- Compare um caminho que falha com um que funciona. Procure diferenças na capitalização, nas barras finais, nas extensões de arquivo, nos prefixos de locale, na versão da API, no prefixo da rota e no tratamento de query strings.
- Examine a configuração de roteamento e rewrite. Revise o roteador da aplicação, os permalinks do CMS, as regras do servidor web, o document root e os mapeamentos do reverse proxy. Faça alterações de configuração somente com a autorização adequada, depois de preservar a configuração atual e considerar o efeito sobre outras rotas.
- Verifique o deployment. Confirme se o arquivo esperado, o resultado do build, a rota e os assets estáticos foram incluídos na versão publicada e se o servidor ativo está usando a versão pretendida.
- Revise os logs. Use os logs do servidor web, do proxy e da aplicação para determinar qual componente gerou o 404 e se a requisição chegou ao backend esperado. Remova ou oculte credenciais, tokens e dados pessoais antes de compartilhar os logs.
- Corrija links ou redirects. Atualize os links internos para o caminho atual. Se o conteúdo foi movido permanentemente, configure um redirect permanente autorizado para o destino equivalente mais próximo. Não redirecione URLs ausentes e não relacionadas para a página inicial.
- Verifique a resposta de erro. Faça uma requisição à URL ausente original e confirme que ela retorna o status HTTP
404. Uma página de erro personalizada pode ser útil, mas não deve transformar um recurso ausente em uma resposta200bem-sucedida e enganosa. - Teste novamente os caminhos afetados. Verifique a URL original, a URL de substituição, se houver, rotas funcionais representativas e métodos de API relevantes após a alteração. Monitore os logs de 404 depois disso para identificar links quebrados remanescentes.
Prevenção e como verificar a correção
- Execute verificações de links quebrados antes e depois de migrações, redesigns e alterações na estrutura de URLs.
- Mantenha redirects documentados para conteúdos importantes que sejam movidos permanentemente.
- Teste rotas representativas de páginas, assets e APIs como parte de cada deployment.
- Trate a capitalização dos caminhos, as barras finais, os prefixos de locale e as versões da API como decisões explícitas de roteamento.
- Mantenha a configuração de roteamento do servidor web, do reverse proxy e da aplicação sob controle de mudanças.
- Monitore os caminhos 404 solicitados com frequência para identificar links internos quebrados, integrações desatualizadas e solicitações recorrentes dos usuários.
- Preserve URLs estáveis para conteúdos que devem continuar disponíveis ou indexados.
- Garanta que os templates de erro personalizados mantenham o status HTTP correto.
Quando buscar ajuda externa
Encaminhe o problema ao responsável pelo site, pela aplicação ou pela infraestrutura quando uma rota deveria existir, mas o roteador e o servidor divergem; quando um deployment remove muitas URLs; ou quando uma alteração de rewrite ou proxy afeta grandes áreas do site. Forneça o caminho exato, o método HTTP, o destino esperado, o primeiro horário em que o problema foi observado, alterações recentes de deployment ou configuração e os logs relevantes sanitizados. Em produção, evite alterações amplas de roteamento ou redirects sem autorização, um plano de rollback e testes das rotas não afetadas.
Perguntas frequentes
Um 404 significa que o site inteiro está fora do ar?
Não. Um 404 significa que o recurso solicitado não foi encontrado. Outras páginas, arquivos ou rotas de API no mesmo host podem continuar funcionando normalmente.
Um 404 é causado por DNS ou por um problema no certificado SSL?
Normalmente, não. Um 404 é uma resposta HTTP de um servidor ou aplicação, enquanto falhas de DNS, TLS e conexão ocorrem antes que uma resposta HTTP normal possa ser retornada.
Todo 404 deve redirecionar para a página inicial?
Não. Redirecione apenas quando o conteúdo solicitado tiver uma substituição realmente relevante. Manter uma URL não relacionada ou permanentemente ausente como um 404 adequado fornece um resultado mais claro para usuários e crawlers.
Regras de rewrite podem fazer uma URL válida retornar 404?
Sim. Rewrites incorretos no servidor web, configurações de permalink do CMS, configuração do document root ou roteamento da aplicação podem impedir que um caminho válido chegue ao handler pretendido.
Por que um endpoint de API retorna 404 quando o host funciona?
O caminho do endpoint, o método HTTP, a versão ou o prefixo da API podem estar incorretos; a rota pode não ter sido publicada; ou um reverse proxy pode estar enviando a requisição para um backend que não a fornece.
Uma página personalizada de Not Found deve retornar HTTP 200?
Não. A página pode ter um design personalizado útil, mas um recurso que não existe normalmente deve manter o status HTTP 404.
Documentação adicional
- MDN Web Docs — HTTP 404 Not Found: Referência sobre o significado e a semântica do código de status 404.
- RFC 9110 — HTTP Semantics: Semântica formal de HTTP e definições dos códigos de status.
Para detalhes de implementação, consulte a documentação do servidor web, reverse proxy, CMS ou framework de aplicação usado pelo site afetado, especialmente as orientações sobre roteamento, rewrite, redirect e respostas de erro personalizadas.