我试图将一个非常简单的.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。
谢谢,