我的 nginx 重写正在下载 php 文件

我的 nginx 重写正在下载 php 文件

我正在尝试以下重写规则:

            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。

答案1

改成。breaklast

因为新的 URL 需要由不同的 进行处理location,所以您需要让 nginx 重新启动对新的重写 URL 的处理,这仅lastrewrite规则中使用时才会完成。

文档以获得更详细的解释。

相关内容