ssi
alex storm
storm at rfn.ru
Wed May 2 16:25:25 MSD 2007
Я понимаю что лучше, но так не работает, из-за чего тема и было поднята...
<!--#if expr="${REQUEST_URI} = \/events\/1.html" -->
Очевидно nginx сравнивает со строкой полностью, \/events\/1.html,
воспринимая \ не как экранирующий символ, а как символ, с которого
начинается строка.
Igor Sysoev пишет:
> В данном случае лучше использовать сравнение со строкой:
>
> <!--#if expr="${REQUEST_URI} = \/events\/" -->
>
>
>> Видно где-то все-таки в тестах промахнулся, спасибо за помощь.
>>
>> Igor Sysoev пишет:
>>
>>> On Wed, May 02, 2007 at 01:32:45PM +0400, alex storm wrote:
>>>
>>>
>>>
>>>> Вспомнил. При таком раскладе оно работает как /\/events\/.*/, отлавливая
>>>> первое же вхождение.
>>>> Следовательно отрабатывает как на /events/, так и /events/test/.
>>>> Нет ли спопосба заэкранировать в виде ${REQUEST_URI} = \/events\/ ?
>>>>
>>>>
>>>
>>>
>>>> Я понимаю что конструкция // воспринимается как регэксп, а при
>>>> нахождении конструкции \/\/ - nginx воспринимает это как строку и
>>>> сравнивает с ней, что приводит к еще меньшим результатам.
>>>>
>>>>
>>> Сравнение со строкой:
>>>
>>> <!--#if expr="${REQUEST_URI} = \/events\/" -->
>>>
>>> Регулярное выражение:
>>>
>>> <!--#if expr="${REQUEST_URI} = /^\/events\/$/" -->
>>>
>>>
>>>
>>>> Igor Sysoev пишет:
>>>>
>>>>
>>>>> On Sun, Apr 22, 2007 at 03:31:04PM +0400, alex storm wrote:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> Люди, спасите.
>>>>>>
>>>>>> Либо я совсем мозг проел, либо это не работает и работать не должно.
>>>>>> Регэспом цепляет, но естественно парсит всю строку.
>>>>>>
>>>>>> Конструкция <!--#if expr="${REQUEST_URI} = \/" --> проходит, более
>>>>>> сложные нет.
>>>>>> Попытки экранировать в любом виде игнорируются.
>>>>>>
>>>>>> Т.е. Конструкции типа
>>>>>> <!--#if expr="${REQUEST_URI} = \/events\/" -->
>>>>>> <!--#if expr="${REQUEST_URI} = /events\/$/" -->
>>>>>> и т.п. не работают.
>>>>>>
>>>>>> Это можно завести, или в морг?
>>>>>>
>>>>>>
>>>>>>
>>>>> Дожно работать такое:
>>>>> <!--#if expr="${REQUEST_URI} = /\/events\//" -->
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> P.S. Есть древний сайт, истерически собирающийся из ssi, есть желание
>>>>>> перевести его под nginx.
>>>>>> P.P.S. Прошлай раз протупил - не дошел до места, где сказано что ssi
>>>>>> поддерживает регэкспы.
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>> --
>>>> Alex Storm, system administrator
>>>> Federal State Unitary Enterprise "The Russian Television and Radio
>>>> Broadcasting Company"
>>>>
>>>>
>>>>
>>>
>>>
>> --
>> Alex Storm, system administrator
>> Federal State Unitary Enterprise "The Russian Television and Radio
>> Broadcasting Company"
>>
>>
>
>
--
Alex Storm, system administrator
Federal State Unitary Enterprise "The Russian Television and Radio Broadcasting Company"
More information about the nginx-ru
mailing list