Penulisan nginx saya sedang mengunduh file php

12

Saya memiliki aturan penulisan ulang berikut yang saya coba:

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

Dan saya juga punya:

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

File php normal berfungsi dengan baik, tetapi sepertinya pengalihan saya hanya mengunduh file php yang saya arahkan, daripada menguraikannya.

Apa yang saya lewatkan? Saya mendapatkan file untuk dimuat, alih-alih mengunduh dengan meletakkan hal-hal fastcgi di blok lokasi pertama, tetapi masih tidak menguraikan sebagai php.

willdanceforfun
sumber

Jawaban:

24

Ubah breakke last.

Karena URL baru perlu diproses oleh yang berbeda location, Anda harus meminta nginx memulai kembali pemrosesan untuk URL yang ditulis ulang baru, yang hanya dilakukan ketika Anda menggunakannya lastdalam rewriteaturan.

Lihat dokumen untuk penjelasan lebih lengkap.

Michael Hampton
sumber
@TamasKalman Eh? Anda tidak terlihat seperti OP. Jika Anda memiliki masalah, Anda dapat mengajukan pertanyaan baru.
Michael Hampton