location... не понятно

Igor Sysoev is at rambler-co.ru
Thu Oct 18 12:31:54 MSD 2007


On Thu, Oct 18, 2007 at 10:42:12AM +0400, Евгений Кленин wrote:

> 
> > Т.е. в моём случае, он должен был бы при обработке секции:
> > 
> > location /forum/admin {
> >     .....
> > }
> > 
> > однозначно запомнить правила разрешений для /forum/admin
> > и если они запрещающие, то что бы не случилось в любом другом месте конфига, эти правила должны для этого локейшена работать.
> >
> 
> другими словами вполне очевидно, что если админ nginx'а сказал
> location /forum/admin {
>     deny all;
> }
> то он не хочет никого пускать в этот локейшн
> и совсем не очевидно, что если он после этого сказал
> location ~ \.php$ {
>     ...
> }
> то он хочет отменить предыдущий запрет

nginx использует иерархическое наследование параметров:

http {
    server {
        location / {
            location /a/ {
                location ~ \.php$ {

Сделано это по ряду причин, одна из которых - так проще отслеживать
параметры администратору. Например, для www.rambler.ru описано около 100
location'ов. Поверьте, это проще, когда для того, чтобы понять, как
настроен тот или иной параметр, достаточно взглянуть в разделы http, server
и location, чем прочёсывать все location'ы на предмет возможного попадания
туда запроса.


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





More information about the nginx-ru mailing list