2016-03-24 13 views
0

私のRaspberry PiでPHPアプリケーションをセットアップしようとしています。私はアプリケーションをホストするためにNginxサーバーを使用しています。私はWinginx toolを使ってhtaccessファイルを変換し、追加/etc/nginx/nginx.confファイルを編集したNginxでSlimPHP .htaccessを設定する

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

:SlimPHPはindex.phpファイルへのすべての要求をリダイレクトするための.htaccessの設定が必要です

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

Restarting nginx: nginx: [emerg] unknown directive "location" in /etc/nginx/nginx.conf:98 nginx: configuration file

/etc/nginx/nginx.conf test failed

どのように進めるべき次のソースが、nginxのは、設定エラーを報告しましたか?

UPDATE

私はrecommendedとしてnginx.confファイルを編集しましたがnginxのはまだURLをリダイレクトしません。それはFile not found答えを示しています。 nginx.confファイルを編集するか、他の設定ファイルを作成する必要がありますか?

+2

[nginxの:不明なディレクティブ "場所"]の可能な重複(http://stackoverflow.com/questions/ 4282146/nginx-unknown-directive-location) – Chris

+0

@Chris nginx.confを正しい方法で編集していますか? – bodruk

+0

はい、リンクされた投稿があなたの問題を説明しています(投稿していない設定に周辺のコンテキストがない限り)。 – Chris

答えて

1

一般的に、このようなものが必要です。必要に応じてSLIM_MODEを開発に切り替えることができます。

[編集:おっと、場合を削除するには、更新の古いバージョンを、掲載した。]

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; 
} 
+0

この設定はどこに含める必要がありますか?どのファイルですか? – bodruk

+0

これはあなたのnginx.confまたはvhost用のサブファイルになります。すなわち、あなたのサイトの 'server'ブロック内にあります。 –

+0

は、ルート上でホストされているindex.htmlファイルにリダイレクトされています。私は2つのファイル、 'index.html'と' index.php'を持っています。 PHPファイルにはスリムなPHPロジックが含まれています。 HTMLファイルは、キャプティブポータル機能を動作させるだけです。これには、PHPファイルへのメタリダイレクトが含まれています。私はPHPファイルへのリダイレクトが必要です。 – bodruk