nginx: o equivalente try_files de uma diretiva de reescrita não funcionará

1

Ter um arquivo em /GET-cache/contact.html e solicitar o URI /contact , com esta diretiva, funciona como esperado:

if (-f $document_root/$request_method-cache$uri.html) {
  rewrite (.*) /GET-cache/$1.html break;
}

Este não é:

try_files $request_method-cache$uri.html @backend;

Usar $document_root na diretiva try_files também não funciona (o que quero dizer quando digo que não funciona é que a solicitação é passada para o back-end em vez de o nginx servir o arquivo estático).

Estou sentindo falta de algo?

    
por Ivan 29.06.2011 / 21:43

1 resposta

2

Acho que isso é apenas uma questão de não iniciar seu cheque com uma barra. Tente isto:

try_files /$request_method-cache$uri.html @backend;

O Nginx aplica cada argumento a try_files à diretiva raiz. Portanto, se sua raiz for /var/www , ela será verificada em relação a var/wwwGET-cache/foo.html

    
por 29.06.2011 / 21:47

Tags