Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: знак вопроса не об рабатывается в regexp
On Wed, Oct 14, 2009 at 04:51:05PM +0300, Sergej Kandyla wrote:
> На сервере есть ссылки на некоторую динамику, которые нужно профильтровать.
> ссылки примерно такого харакетера
>
> http://mydomain.com/dsfdasf/sfasdf/file.php?EXAMPLE_3=2
> http://mydomain.com/dsfdasf/sfasdf/file.php&EXAMPLE_=1
>
> сделал отдельный локейшн, удовлетворяющий данному запросу.
>
> server_name mydomain.com
> location ~ ^.*(EXAMPLE_).*$ {
> rewrite ^ http://mydomain.com redirect;
> }
>
> если в запросе содержится знак вопроса '?'
> то данный регексп не обрабатывается.
>
> пробовал также экранировать знак вопроса '\?' - не помогло.
> пробовал как через location, так и непосредственно в реврайте указать
> такой регексп.
>
> В чем может быть ошибка?
if ($args ~ EXAMPLE_) {
rewrite ^ http://mydomain.com/? redirect;
}
location учитывает только URI без query string по одной простой причине:
в query string можно написать чего угодно и в любом порядке, например,
/index.html?one=1&two=2
/index.html?two=2&one=1
/index.html?one=1&two=2&и-ещё-чего-то-до-кучи
И как это тестировать ?
--
Игорь Сысоев
http://sysoev.ru
|