@xXxSPYxXx
Сисадмин

Какой конфиг нужен для nginx (переход от if к map)?

Есть такой код. Хочу перейти от if к map.
location /eset_upd {
                if ($http_user_agent ~ .*BPC.[3].*) {
                rewrite ^(.*) /eset_upd/v3/update.ver break;
                }
                if ($http_user_agent ~ .*BPC.[4].*) {
                rewrite ^(.*) /eset_upd/v4/update.ver break;
               }
         	if ($http_user_agent ~ .*BPC.[5].*) {
                rewrite ^(.*) /eset_upd/v5/update.ver break;
                }
                if ($http_user_agent ~ .*BPC.[6].*) {
                rewrite ^(.*) /eset_upd/v6/update.ver break;
                }
                if ($http_user_agent ~ .*BPC.[7].*) {
                rewrite ^(.*) /eset_upd/v7/update.ver break;
                }

Нужно это дело конвертировать в map. Все что у меня получилось:

map $http_user_agent $url {
	    .*BPC.[3].* /eset_upd/v3/update.ver;
	    .*BPC.[4].* /eset_upd/v4/update.ver;
	    .*BPC.[5].* /eset_upd/v5/update.ver;
	    .*BPC.[6].* /eset_upd/v6/update.ver;
	    .*BPC.[7].* /eset_upd/v7/update.ver;
	}
location /eset_upd {
 	if ($url) {
    rewrite ^(.*) $url break;
	}

}
  • Вопрос задан
  • 3792 просмотра
Решения вопроса 1
shurph
@shurph
Приведите map к такому виду:
map $http_user_agent $url {
	    ~.*BPC.[3].* /eset_upd/v3/update.ver;
	    ~.*BPC.[4].* /eset_upd/v4/update.ver;
	    ~.*BPC.[5].* /eset_upd/v5/update.ver;
	    ~.*BPC.[6].* /eset_upd/v6/update.ver;
	    ~.*BPC.[7].* /eset_upd/v7/update.ver;
	}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы