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