web-dev-qa-db-ja.com

複数の変数のNginxマップディレクティブ

私は現在、Magentoでnginxを使用しており、mapディレクティブを使用して次のようなストアコードを提供しています。

map $http_Host $magecode {
        www.store.com retail_store;
        wholesale.store.com wholesale_store;
        beta.store.com retail_beta_view;
}

これの欠点は、ベータサイトを独自のストアにすると、同じカタログを使用できないことです。代わりに、ベータサイトをstoreではなくwebsiteにしたいです。

一度に2つの変数をマッピングすることは可能ですか?私はそれが次のようになると想像しています:

map $http_Host $magecode $magetype {
        www.store.com retail_store website;
        wholesale.store.com wholesale_store website;
        beta.store.com retail_beta_view store;
}

そうでない場合、同じ変数を2回マップできますか?

map $http_Host $magecode { ... }
map $http_Host $magetype { ... }
1
Alex Block

はい、複数のmapを使用できます。これは、これを解決するための最もクリーンな方法のようです。

map $http_Host $magecode {
        www.store.com retail_store;
        wholesale.store.com wholesale_store;
        beta.store.com retail_beta_view;
}

map $http_Host $magetype {
        www.store.com website;
        wholesale.store.com website;
        beta.store.com store;
}
1
Michael Hampton