了解Nginx的try_files和fastcgi_path

我试图将一个非常简单的.htaccess文件转换为nginx

Options -Indexes -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] 

正如我在谷歌和许多地方阅读,try_files应该做的伎俩。 我尝试了很多东西,但它只是不起作用,看起来像没有发送到index.php

 server { root /var/www/html/; location / { index index.php; try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } 

文件结构很简单:

 /var/www/html/folder1/folder2/index.php /var/www/html/folder1/folder2/.htaccess 

请求URL时的Nginx错误日志:

 013/01/17 14:38:28 [error] 22379#0: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 1.2.3.4, server: , request: "GET /status/1.0/APP/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "test.com:443" 

我不确定问题是否是try_files问题或fastcgi_path。

谢谢,