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