ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ssi



Я понимаю что лучше, но так не работает, из-за чего тема и было поднята...
<!--#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"


  • Follow-Ups:

 




Copyright © Lexa Software, 1996-2009.