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.

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.


@TamasKalman Eh? Anda tidak terlihat seperti OP. Jika Anda memiliki masalah, Anda dapat mengajukan pertanyaan baru.
Michael Hampton
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.