ПРОЕКТЫ 


  АРХИВ 


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: знак вопроса не о брабатывается в regexp


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: знак вопроса не о брабатывается в regexp
  • From: Sergej Kandyla <sk.paix@xxxxxxxxx>
  • Date: Wed, 14 Oct 2009 17:43:41 +0300
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=HTjxKO0LoKfoscBviVLqpCKDrAPQ0s12f3HDvlEXiHY=; b=F9BEYvYIRJWsWdiNdWpUd6SvmEZ8amdpVFAsUv7JiTsNMmMuNQu6X/WQpCulXOrKnv gfcSWF2re3GpjPXkKthzo43zh3MZrmD9Ts3neAa44cvgR7cL+qXS0sFt1+OOTe43EMRu ykeMuWOlRf3Ii7Yxkf9z9fpBQX7ucgBzTfDq8=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; b=w0OAUVxW2jCN3GVcSDyXCTMZ3s5jFR0nfp4SH5+OSEHpF44FHdnqWVEGbxISYNTPrL EVSBu4eTKrqmqk0SOBZ7Xs/Fhr5ifrR1/O8vhxwqxLAlR8MG3BqGlaVPCsStmVOVa0TH 4WagKZ/1M9ze+6wPvAxS87ppEjV2knPdw7J0Q=
  • In-reply-to: <20091014141712.GS31938@xxxxxxxxxxxxx>
  • References: <4AD5D749.6000908@xxxxxxxxx> <20091014141712.GS31938@xxxxxxxxxxxxx>

Igor Sysoev пишет:
     server_name  mydomain.com
      location ~ ^.*(EXAMPLE_).*$ {
                rewrite ^ http://mydomain.com redirect;
      }

если в запросе содержится знак вопроса '?'
то данный регексп не обрабатывается.

       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&и-ещё-чего-то-до-кучи

И как это тестировать ?

Спасибо, не знал.

               rewrite ^/.*(EXAMPLE).*$  http://$host redirect;
               if ($args ~ EXAMPLE) {
                       set $args "";
                       rewrite ^ http://$host  redirect;
               }





 




Copyright © Lexa Software, 1996-2009.