Minha reescrita nginx está baixando o arquivo php

10

Eu tenho a seguinte regra de reescrita que estou tentando:

            location / {
                    index index.php index.html;
                    rewrite  ^/test$  /test.php  break;
            }

E eu também tenho:

            location ~ \.php$ {
                    fastcgi_pass    127.0.0.1:9000;
                    include         fastcgi_params;
                    fastcgi_param SCRIPT_FILENAME /home/sites/default$fastcgi_script_name;
                    fastcgi_index   index.php;
            }

Arquivos php normais funcionam bem, mas parece que meu redirecionamento é apenas baixar o arquivo php para o qual estou redirecionando, em vez de analisá-lo.

O que estou perdendo? Eu tenho o arquivo para carregar, em vez de baixar, colocando as coisas fastcgi no primeiro bloco de localização, mas ainda não analisou como php.

    
por willdanceforfun 06.09.2013 / 07:41

1 resposta

19

Altere break para last .

Como o novo URL precisará ser processado por um location diferente, você precisará ter o processamento de reinicialização do nginx para o novo URL reconfigurado, o que só é feito quando você usa last na regra rewrite .

Veja os documentos para uma explicação mais completa.

    
por 06.09.2013 / 08:09