Mi nginx rewrite está descargando el archivo php

12

Tengo la siguiente regla de reescritura que estoy intentando:

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

Y también tengo:

            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;
            }

Los archivos php normales funcionan bien, pero parece que mi redirección solo está descargando el archivo php al que estoy redirigiendo, en lugar de analizarlo.

¿Qué me estoy perdiendo? Obtuve el archivo para cargar, en lugar de descargar, colocando el material fastcgi en el primer bloque de ubicación, pero aún no se analizó como php.

willdanceforfun
fuente

Respuestas:

24

Cambiar breaka last.

Debido a que la nueva URL tendrá que ser procesada por una diferente location, necesita que nginx reinicie el procesamiento para la nueva URL reescrita, lo que solo se hace cuando se usa lasten la rewriteregla.

Ver los documentos para una explicación más completa.

Michael Hampton
fuente
@TamasKalman Eh? No te pareces al OP. Si tiene un problema, puede hacer una nueva pregunta.
Michael Hampton