Este é um trabalho para try_files
.
try_files $uri /index.html;
$uri
carregará todos os recursos estáticos, se estiverem presentes e acessíveis; para qualquer URL inacessível, /index.html
será exibido (com 200).
Eu tenho o nginx configurado para exibir um aplicativo React.js de página única como conteúdo estático. O react-router manipula o roteamento no navegador.
Para permitir que os usuários insiram todos os URLs (não apenas o domínio example.com
, mas também URLs como example.com/some/path
, example.com/some/other/path
, etc.) diretamente na barra de endereço, eu estou fazendo
error_page 404 /index.html
Isso funciona perfeitamente bem em todos os lugares, exceto no Internet Explorer. IE mostra página 404 para isso.
Como faço para configurar o nginx, de modo que ele atenda index.html, se o caminho da solicitação não puder ser correspondido a um arquivo no diretório raiz.
Obrigado.
Como solução alternativa, você pode usar
server {
listen 80;
server_name www.example.net;
root /vhosts/default/public_html;
error_page 404 =200 /index.html;
location / {
index index.html;
}
}
Is it possible that IE showing you cached version?
parece um comportamento padrão para o IE. Pelo menos para o IE11 no Windows 7
P.S. Acontece que o seu index.html DEVE ter 512 bytes
Tags nginx