Назад | Перейти на главную страницу

Директива карты Nginx для нескольких переменных

В настоящее время я использую nginx с Magento, и я использую директиву map для предоставления кода магазина следующим образом:

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

Недостатком этого является то, что если я сделаю бета-сайт отдельным магазином, я не смогу использовать тот же каталог. Вместо этого я хочу сделать бета-сайт интернет сайт вместо того хранить.

Можно ли сопоставить две переменные одновременно? Я предполагаю, что это будет выглядеть так:

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

Если нет, могу ли я дважды сопоставить одну и ту же переменную?

map $http_host $magecode { ... }
map $http_host $magetype { ... }

Да, вы можете использовать более одного 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;
}