server {
listen 443 ssl;
root /path/to/documents;
location / {
try_files $uri @redirect;
}
location @redirect {
return 301 http://example.org$request_uri;
}
}
Eu pesquisei a maneira correta de fazer isso por um tempo.
Em um servidor https quando um arquivo inexistente é solicitado, redirecione para o servidor http e solicite o mesmo arquivo.
por exemplo.
link
link
link
link
Este snippet baseado em if funciona
listen 443 ssl;
#... more config
if (!-e $request_filename) {
rewrite ^ http:// example.org$request_uri permanent;
break;
}
Mas "se é mau" - link
Portanto, esta é a minha tentativa em uma versão try_files - o que não funciona.
try_files $uri @redirect;
location @redirect {
rewrite ^ http:// example.org$request_uri permanent;
break;
}
Eu tentei inúmeras variações disso; proxy_redirects, retorna 302 - eles não redirecionam ou não funcionam quando um arquivo está em um subdiretório, ou não redirecionam a raiz se estiverem vazios.
Alguém tem uma substituição baseada em try_files à prova de balas?
(ps. espaços devido ao verificador de links sem saber sobre example.org!)
Tags nginx