Re: Регулярки для map

admin at sysadmins.el.kg admin at sysadmins.el.kg
Wed Jun 26 04:20:30 UTC 2013


Благодарю за помощь с первой регуляркой - это как раз то, что доктор 
прописал. А вот во втором случае встроенными переменными не обойтись, 
поскольку указанный мной url

http(s)://test.local/(site([1-9]))

не является переданным от клиента (иначе проблемы №2 не было бы вообще). 
Данная строка изымается nginx'ом из бд посредством модуля ngx_postgres 
исходя из того, что вернет как раз-таки та самая первая регулярка. Далее 
ее нужно раздробить на 3 части и если $протокол = http://, то 
спроксировать на $домен, если конечный сайт в подпапке - добавить $путь 
к $request_uri, если же $протокол = https:// - тогда просто сделать 
редирект. Вот как-то так у меня задача поставлена.


25.06.2013 17:53, Kron пишет:
> 1.
>
> map $request_uri $num {
> "~*/pages/Test/(?<n>\d+)" $n;
> }
>
> 2.
>
> http://nginx.org/ru/docs/http/ngx_http_core_module.html
> читать про "встроенные переменные"
>
> 25.06.2013, 11:31, "admin at sysadmins.el.kg" <admin at sysadmins.el.kg>:
>
>>   Доброго всем!
>>
>>   Помогите плз с регулярками для map'ов.
>>
>>   Имеется строка типа:
>>     https://www.facebook.com/pages/Test/123456789123456?sk=app_987654321987654
>>   которая приходит как реферал. Нужно получить из нее первый блок цифр -
>>   "123456789123456".
>>
>>   Также имеется строка http(s)://test.local/(site([1-9])) которую мне
>>   нужно разбить на 3 части - протокол, домен, uri. То есть получить
>>   отдельно "http(s)://", "test.local" и "/(site([1-9]))".
>>
>>   Только что-то я не совсем понимаю как их составлять... :-[
>>
>>   _______________________________________________
>>   nginx-ru mailing list
>>   nginx-ru at nginx.org
>>   http://mailman.nginx.org/mailman/listinfo/nginx-ru
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



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