Recentemente experimentei pela primeira vez o serviço Static Web App do Azure. Acabei me deparando com este erro 404 quando navego diretamente para qualquer rota da aplicação que não seja a rota padrão.
Até então sempre usei a opção de site estático do Azure Blob para hospedar aplicações frontend. Para este, no portal do Azure existe uma opção para rotas não encontradas:
No caso de SPAs (aplicações de página única) faz todo sentido pois só existe o index.html
e as rotas são gerenciadas pela própria aplicação, então qualquer página requisitada deve ser redirecionada para ele.
No caso do Static Web App também é necessário definir um caminho para fallback mas isso é feito através de um arquivo staticwebapp.config.json
que deve ficar na pasta do código da aplicação frontend:
A configuração dentro do arquivo fica assim:
{
"navigationFallback": {
"rewrite": "index.html"
}
}
Seja no GitHub Actions ou no Azure DevOps, a task especial do Azure Static Web App vai se encarregar de ler este arquivo e publicar a aplicação corretamente, resolvendo o problema 404.