Re: regexp и $request uri

Igor Sysoev igor на sysoev.ru
Вт Сен 28 12:02:58 MSD 2010


On Tue, Sep 28, 2010 at 03:29:42AM -0400, Alexander wrote:

> Уважаемые коллеги,
> 
> Будьте так добры подскажите
> пожалуйста, как можно решить данную
> проблему.
> 
> Для защиты веб-сервера от ненужных
> запросов к несуществующему контенту,
> мною применяется следующее правило:
>    if ($request_uri !~*
> (^\/|\.html|\.gif|\.jpe?g|\.png|\.css|\.txt|\.ico|\.rtf|\.doc|\.pdf|\.xml|\.js)$
> ) {
>       return 444;
>     }
> 
> По мимо это на сервере имеется
> веб-приложение, к которому так же
> необходимо обеспечить доступ:
> В журнале присутствует следующая
> информация:
> /servlets/ibc?File=2903376.gif
> /servlets/ibc?PageName=GetSes&PageParam=
> /servlets/ibc?PAGENAME=cLogin&FORMCACHENO=
> 
> В связи с этим я пытался изменить
> правило, например так:
>    if ($request_uri !~* (^\/|....|ibc?\?\w)$ )
> 
> Но увы безрезультатно.

Вот до чего доводит чрезмерное увлечение RewriteRule'ами - мозги
выворачиваются наизнанку.

location = /servlets/ibc {
    ...
}

location ~* (\.html|\.gif|\.jpe?g|\.png|\.css|\.txt|\.ico|\.rtf|\.doc|\.pdf|\.xml|\.js)$ {
    ...
}

location = / {
    ...
}

location / {
    return 444;
}


-- 
Игорь Сысоев
http://sysoev.ru



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