ПРОЕКТЫ 


  АРХИВ 


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: Nginx, regex-домены, "root /your/app/$1/ht docs"


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Nginx, regex-домены, "root /your/app/$1/ht docs"
  • From: Dmitry Koterov <dmitry@xxxxxxxxxx>
  • Date: Sat, 7 Nov 2009 01:05:31 +0300
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:reply-to:received :in-reply-to:references:date:x-google-sender-auth:message-id:subject :from:to:content-type; bh=GyrhUGh0sWqH42pYQD3xBFeWqYgB4QHyUFfRnORqhGg=; b=eyWRjhzVIj6XpP1uBDxQe3IWhSBwhFUTCEwBp0fWHMDAiFj2vKAGNp6BQfNw0Sa0WK 1NwUc/tejgG5iQbB0kVotfk1il0CbjTZx2+A7OER60sgVlbqXiPEhYQSfldrkPv1dISR koJRNcHDWEK0Nv9QOSFUXonSjsjOQiq5Be5AE=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:reply-to:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type; b=DNLr12N7ExTtUutIL9yZXNzPFiReR9dsnch+PoMJ5sbd/npuAAzN1eZRadi+9ehn/z BNN1sCX+sRQov83Fa/RlGa5Evv313/qiDdqeMoOaNZn6WoJPPiFhBDUBtIRC1H2DbH7k FqtE1VG1oqZ31Pgp+neZYTFA8yiBEyeprSDCQ=
  • In-reply-to: <20091106125742.GT1144@xxxxxxxxxx>
  • References: <d7df81620911060208y78676188ib4468ec25a58cd1c@xxxxxxxxxxxxxx> <20091106103903.GS1144@xxxxxxxxxx> <d7df81620911060316n79f794f0m566ca06c5ec4194@xxxxxxxxxxxxxx> <20091106125742.GT1144@xxxxxxxxxx>


Все переменные (и $1 не исключение) подставляются в тот момент,
когда строка содержащая переменные реально используется.
ИМХО для $1, $2 и т.д. такое поведение как раз не очень логично... но, наверное, по-другому сделать архитектурно сложнее.
 
> Я ожидал, что в конструкции
>
> set $docroot /your/app/$1/htdocs;
>
> в $docroot попадет уже ОКОНЧАТЕЛЬНАЯ строка, в которой нет упоминаний $1 и
> т.д... Аналогично, что в

Да, попадёт.  Когда отработает соответствующий set.  Это случится
где-то в районе фазы серверных rewrite'ов (если set на уровне
server{}).

Шутка состоит в том, что эта самая фаза - выполняется повторно при
очередном поиске совпадения между uri и location (после rewrite ...
last).  И там снова отрабатывает set.  И заново ставит $docroot,
но на этот раз в $1 уже может быть совсем не то что ожидалось.
Спасибо, примерно понятно.
Можно ли (для истории) попросить Вас привести пример конфига, иллюстрирующий этот эффект?




 




Copyright © Lexa Software, 1996-2009.