URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7525
[ Назад ]

Исходное сообщение
"  Можно ли использвать в качестве переключателя переменную"

Отправлено greyroot , 10-Май-12 21:59 
т.е например что-то типа


http
map $http_user_agent $auth {
                "opera" off;
                "^opera" on;
}

location  / {
                root    /var/www/;
                auth_basic $auth;

И если да, то как?

Потому что всё равно при заходе на страницу спрашивается авторизация с текстом $auth , т.е переменная не интерпретируется

Подскажите, как сделать правильно


Содержание

Сообщения в этом обсуждении
"  Можно ли использвать в качестве переключателя переменную"
Отправлено erera22 , 11-Май-12 16:04 
При попытке передать auth_basic $var => $var будет интерпретирован как строка, потому не будет никоим образом обработан.
В случае, если Вам требуется в зависимости от браузера направлять пользователя, разумнее сделать несколько location с единым реврайтом (как в доке http://wiki.nginx.org/HttpMapModule):

http =>
map $http_user_agent $check {
default http://domain/invalid;
~opera  http://domain/valid;
}

server {
server_name domain;
rewrite ^(.*)$ $check permanent;

location /valid {
  ...
}

location /invalid {
  ...
}
}