2016-09-17 10 views
0

次のHTACCESSファイルをNGINXに変換しようとしています。私はPlesk GUIを介して内蔵コンバータを使用しているPleskサーバー上にあり、動作していないようです(SetEnvIf変数のためにエラーが発生し続けます)。HTACCESSからNGINX Conversoin

私が試みたすべてのコンバータは、NGINXで動作しないSetEnvIf変数を保持しています。しかし、NGINXは、NGINX設定のPlesk GUIに入力すると(私のメインサーバー設定のnginx.confファイルに書き込む)、それを "env"と同等のものにしていると私は信じています。この場所で "env"変数を使用してください。ここで

たちは変換する必要があるのhtaccessファイルです:

<IfModule mod_setenvif.c> 
    SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0 
</IfModule> 
<IfModule mod_rewrite.c> 
    Options -MultiViews 
    RewriteEngine On 
    RewriteBase /discuss/api/ 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule .* index.php [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] 
</IfModule> 

これは何コンバータ、およびその他の作成、次のとおりです。

if (!-f $request_filename){ 
    set $rule_0 1$rule_0; 
} 
if (!-d $request_filename){ 
    set $rule_0 2$rule_0; 
} 
if ($rule_0 = "21"){ 
    setenv HTTP_AUTHORIZATION:$http_authorization; 
    rewrite /.* /index.php last; 
} 

は、我々は何を間違っている(とコンバータ)されていますか? !前もって感謝します。

答えて

0

envcontextは、それが仮想サーバーで使用することはできませんmainです:

env FOO=BAR; // main context 
http { 
    server { 
     // we a here 
    } 
} 

しかし、あなたはindex.phpでPHPコードからHTTP_AUTHORIZATIONと設定した環境変数にアクセスすることができます。

<?php 
    putenv('HTTP_AUTHORIZATION=' . $_SERVER['HTTP_AUTHORIZATION']); 
+0

Iあなたが言っていることを理解していますが、私たちの場合はうまくいかないでしょう。 Plesk NGINX GUIを介してNGINX設定ファイルに入力するには、上記のHTACCESSをNGINXに変換する必要があります。これは、IPボードAPI呼び出しをサポートしています。 –

関連する問題