私のnginxの書き換えはphpファイルをダウンロードしています


12

私がしようとしている次の書き換えルールがあります:

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

そして私も持っています:

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

通常のphpファイルは問題なく動作しますが、リダイレクトは解析するのではなく、リダイレクト先のphpファイルをダウンロードするだけのようです。

私は何が欠けていますか?ダウンロードする代わりに、fastcgiを最初のロケーションブロックに配置してファイルをロードしましたが、それでもphpとして解析されませんでした。

回答:


24

に変更breaklastます。

新しいURLは別のURLで処理する必要があるlocationため、新しい書き換えられたURLの処理をnginxに再起動させる必要があります。これはlastrewriteルールで使用する場合にのみ行われます。

詳細な説明については、ドキュメントを参照してください。


@TamasKalman Eh?あなたはOPのように見えません。問題がある場合は、新しい質問をすることができます。
マイケルハンプトン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.