1

我在使用 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;
}

但是..这些似乎无法正常运行。基本上,我希望以 开头的每个 URL/v1/都重写为/v1/api.php,而其他任何内容都重写为/index.php.

这似乎部分起作用。有时它确实会转到api.php,但有时它似乎只是下载文件而不是通过 PHP-FPM 处理它。我将如何解决这个问题?

4

1 回答 1

1

下载文件意味着不会传递给 php 引擎,所以我认为问题出在块定义替换中

location * .*\.php$ {

location ~ \.php$ {

也许它会起作用。

于 2013-10-31T07:45:39.680 回答