Frage Mein Nginx Neuschreiben lädt die PHP-Datei herunter


Ich habe die folgende Rewrite-Regel, die ich versuche:

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

Und ich habe auch:

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

Normale PHP-Dateien funktionieren zwar, aber es scheint, als ob meine Weiterleitung nur die PHP-Datei herunterlädt, auf die ich weiterleite, anstatt sie zu analysieren.

Was vermisse ich? Ich habe die Datei geladen, anstatt sie zu laden, indem ich die Fastcgi-Sachen in den ersten Standortblock legte, aber sie analysierte immer noch nicht als PHP.


9
2017-09-06 05:41


Ursprung




Antworten:


Veränderung break zu last.

Weil die neue URL von einer anderen URL verarbeitet werden muss locationSie müssen eine nginx-Neustart-Verarbeitung für die neu umgeschriebene URL haben, die nur bei der Verwendung erfolgt last in dem rewrite Regel.

Sehen die Dokumente für eine ausführlichere Erklärung.


18
2017-09-06 06:09