location /

Gena Makhomed gmm на csdoc.com
Вт Окт 11 11:46:58 UTC 2011


On 10.10.2011 15:31, Gena Makhomed wrote:

>>>> server {
>>>> rewrite ^(.*) /prefix$1;
>>>> }

>>> происходит зацикливание rewrite or internal redirection
>>> cycle while processing "/prefix/prefix/prefix/prefix/prefix/prefix/..."

>> И причина, в общем-то, очевидна - если знать нюансы. В первом
>> конфиге на самом деле написано нечто вроде:

>> server {
>>     rewrite ^(.*) /prefix$1;
>>
>>     location / {
>>         rewrite ^(.*) /prefix$1;
>>     }
>> }
>>
>> И по понятным причинам будет цикл.

это даже не "нюансы", это больше похоже на слово "bug",
потому что обычно директивы rewrite внутрь вложенных
location`ов не наследуются. а тут - такое происходит.

почему нельзя сделать по аналогии с server_name -
если server_name не указано внутри server { ... }
то считается, что в этом случае будет server_name "";

аналогично и если в конфиге явно отсутствует location / { ... }
- можно ведь неявно сделать полностью пустой location / { }
в который только будут наследоваться директивы из вышестоящего
уровня, например, директива root и т.п. тогда "нюансов" не будет.

-- 
Best regards,
  Gena



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