Re: nginx свои переменные

Igor Vavrjin igor.vavrjin на gmail.com
Пн Янв 16 02:52:17 UTC 2012


16.01.2012 02:18, Aleksandr Sytar пишет:
> 15 января 2012 г. 19:35 пользователь "Боня"<nginx-forum на nginx.us>  написал:
>> Здравствуйте. Прошу прощение, если
>> вопрос уже подымался. Я не нашёл
>> ответа.
>>
>> Задача следующая мне нужно создать
>> переменную , а потом при необходимости
>> поменять её значение. Следующий код
>> конечно не работает, но наглядно
>> демонстрирует чего я хочу:
>>
>> Здравствуйте.
>> server {
>>   ...
>> set $rootPath "C:/apach/www";
>>
>> location /music/ {
>> $rootPath =  "D:/www/music";
>> }
>>
>> location /video/ {
>> $rootPath =  "D:/www/video";
>> }
>>
>> location ~* \.(flv|mp3)$ {
>> root $dirPath;
>> }
>> ...
>> }
>>
> Как-то так наверно (на рабочесть не проверялось)
>
> server {
>    root "C:/apach/www";
>
> location /music/ {
>      root "D:/www/music";
>      location ~* \.(flv|mp3)$ {
>           ....
>      }
> }
>
> location /video/ {
>      root "D:/www/video";
>      location ~* \.(flv|mp3)$ {
>           ....
>      }
>    }
> }
Можно вот так попробовать:

set $root "C:/apach/www";

root $root;

if ($uri ~* "^/music") {
   set $root "D:/www/music";
}

if ($uri ~* "^/video") {
   set $root "D:/www/video";
}

location ~* \.(flv|mp3)$ {
   root $root;
}

Но вот не знаю насколько это вписывается в концепцию nginx.



Подробная информация о списке рассылки nginx-ru