4
respostas

Flutter Web - Erro 404

Boa noite! Não sou muito de desenvolvimento web e talvez por isso esteja com esse probleminha. Fiz um site com Flutter Web e o coloquei no GitHub Pages, até ai tudo bem, pois eu consigo acessar o site e está funcionando.

O problema começa quando tento mandar um link específico para alguém. Ex: Eu consigo acessar o site normalmente por www.user.github.io/meusite/index.html.

Mas se eu tento acessar por www.user.github.io/meusite/meuapp ou qualquer outra área após o "meusite/", recebo o erro File Not Found 404.

Eu acredito que é uma situação simples de se resolver. Porém com meu nível altíssimo de desenvolvimento web (contém ironia), não estou conseguindo encontrar uma solução.

Agradeço por qualquer ajuda!

Att. Ricardo

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
4 respostas

E aí, Ricardo!

O lance do erro 404 geralmente tá relacionado ao roteamento da tua aplicação, e parece que o GitHub Pages tá meio perdido quando você vai além do index.html, né?

Primeiro passo, confere se o teu Flutter Web tá configurado direitinho pra lidar com rotas. Às vezes, precisamos usar o BrowserRouter ou HashRouter do pacote flutter_web_plugins pra dar um empurrãozinho nessa parada.

Outra coisa, o GitHub Pages pode ser meio chatinho com o roteamento. Às vezes, é só uma questão de criar um arquivo chamado 404.html na raiz do teu projeto (mesmo diretório do index.html). Dizem por aí que isso ajuda o GitHub Pages a se virar com as rotas.

Se mesmo assim não resolver, pode ser que a configuração do teu yaml ou pubspec.yaml esteja causando confusão. Verifica se as URLs tão batendo certinho com o que tu tá usando no GitHub Pages.

Opa... Boa noite!

Eu imaginei que era algo com relação as rotas mesmo. Acredito que eu não tenha configurado da forma correta. É com relação a isso que você se refere?

routes: {
        '/aquahelp/': (_) => const AquaHelp(),
        '/exemplifica/': (_) => const Exemplifica(),
        '/lockpass/': (_) => const LockPass(),
        '/spreadgifs/': (_) => const SpreadGifs(),
        '/homepage/': (_) => const HomePage(),
        '/spreadgifs/privacypolicy/': (_) => const PrivacyPolicy(),
        '/exemplifica/privacypolicy/': (_) => const PrivacyPolicy(),
        '/lockpass/privacypolicy/': (_) => const PrivacyPolicy(),
        '/aquahelp/privacypolicy/': (_) => const PrivacyPolicy(),
      },

Nunca usei esse BrowserRouter e HashRouter. Vou ver se encontro algo!

Tentei essa idéia do 404.html e o erro persiste. Não aparece mais a tela com o erro 404! Mas também não carrega a tela. =/

Descobri o que causou o problema!

Eu retirei a "#" da url através do Flutter Web Plugins com o "setUrlStrategy(PathUrlStrategy());" Quando fiz isso a # foi retirada e começou a dar o problema com a navegação. Se eu entrava diretamente pela url, estava com em tudo. Mas se fosse usar um F5. Já era!

Não consegui encontrar uma solução pra isso! Apenas retirei as mudanças e voltei com a url original.

Tive esse problema no GitHub Pages, caso alguém passe pelo mesmo, já sabe o motivo.