我在使用PHP RESTful API设置我的nginx服务器时遇到了很多麻烦。我的server{}
块中有以下块:
location / {
rewrite ^/v1/* /v1/api.php last;
rewrite ^/* /index.php last;
}
location * .*\.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
}
然而......这些似乎没有正常运作。基本上,我希望将每个以/v1/
开头的网址重写为/v1/api.php
,将其他任何内容重写为/index.php
。
这似乎部分有效。有时它实际上会转到api.php
,但有时它似乎只是下载文件而不是通过PHP-FPM处理它。我该如何解决这个问题?
答案 0 :(得分:1)
下载文件意味着没有传递给php引擎,所以我认为问题在于该块定义 取代
location * .*\.php$ {
与
location ~ \.php$ {
可能它会起作用。