在Nginx中设置SlimPHP .htaccess

时间:2016-03-24 14:05:39

标签: php .htaccess mod-rewrite nginx

我试图在我的Raspberry Pi中设置我的PHP应用程序。我使用Nginx服务器来托管应用程序。 SlimPHP需要.htaccess配置将所有请求重定向到index.php文件:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]

我已使用Winginx tool转换了htaccess并编辑了 /etc/nginx/nginx.conf 文件,添加了以下源代码,但Nginx报告了配置错误:< / p>

# nginx configuration
location / {
    if (!-e $request_filename){
        rewrite ^(.*)$ /index.php break;
    }
}
  

重新启动nginx:nginx:[emerg] unknown指令&#34; location&#34;在   /etc/nginx/nginx.conf:98 nginx:配置文件

     

/etc/nginx/nginx.conf测试失败

我该怎么办?

更新

我已将nginx.conf文件编辑为recommended,但Nginx仍然没有重定向网址。它显示File not found答案。我应该编辑 nginx.conf 文件还是创建任何其他配置文件?

1 个答案:

答案 0 :(得分:1)

一般来说,你想要这样的东西。您可以根据需要将SLIM_MODE切换为开发。

[编辑:哎呀,发布旧版本,更新以删除if。]

location / {
    try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
    try_files $uri =404; # not needed if you have cgi.fix_pathinfo=false in php.ini
    include fastcgi_params;
    fastcgi_param SLIM_MODE production;
}