Re[2]: rewrite на основе $args
Михаил Монашёв
postmaster at softsearch.ru
Tue Jun 23 12:09:34 MSD 2009
Здравствуйте, Olexander.
>> для некоторых локейшнов надо делать rewrite, основываясь на аргументах
>> запроса.
>> насколько приемлема такая конструкция:
>>
>> location / {
>> if ($request_uri = '/some/uri?a1=v1&a2=v2') {
>> rewrite ^ /foo.gif;
>> }
>>
>> if ($request_uri = '/one/more/uri?a3=v3&a4=v4') {
>> rewrite ^ /boo.gif;
>> }
>> .................
>> }
>>
>> с учетом того, что неоднократно говорилось, что if -- не всегда самая красивая
>> и оптимальная конструкция, можно ли сделать то же самое более идеологически
>> правильным способом?
OS> location /some/uri {
OS> rewrite ^ /foo.gif;
OS> }
OS> location /one/more/uri {
OS> rewrite ^ /boo.gif;
OS> }
Выделение в отдельные локейшны безусловно верная мысль. Это позволит
исключить проверку тех if-ом, которые относятся к другим путям.
Но спрашивалось про учёт аргументов запроса... Поэтому ИМХО стоит
создать отдельные локейшны, как описано выше и в них поместить
исходные if-ы. Будет работать быстрее.
--
С уважением,
Михаил Монашёв, SoftSearch.ru
mailto:postmaster at softsearch.ru
ICQ# 166233339
http://michael.mindmix.ru/
Без бэкапа по жизни.
More information about the nginx-ru
mailing list