On Mon, May 24, 2010 at 11:47:03AM +0400, Алексей Сундуков wrote:
> 18 мая 2010 г. 12:49 пользователь Igor Sysoev <igor@sysoev.ru> написал:
>
> > location /administrator/ {
> > allow 192.168.0.0/24;
> > deny all;
> > }
> >
> > location ~ ^/administrator/.+\.php$ {
> > allow 192.168.0.0/24;
> > deny all;
> > fastcgi_pass 127.0.0.1:8000;
> > fastcgi_param SCRIPT_FILENAME
> > /www/beta.autocentre.ua/html$fastcgi_script_name;
> > include fastcgi_params;
> > }
>
>
> А есть смысл в таком дублировании директив? Если придется изменить
> адреса, то придется помнить, что править их нужно в двух местах.
Я сторонник сделать внутри сервера десять, а то и двадцать только
статических location'ов вместо пяти с регулярными выражениями. Да,
писать побольше, зато потом проще добавлять новое и, сурприз, изменять
старое. Да, изменить придётся в нескольких местах, но все эти места
видны при беглом взгляде (особенно, если разместить их рядом - для статики
не критичен порядок) и не нужно проверять - а как это изменение отразится
на остальной функциональности.
Хотя в данном случае это не подходит. Ну, если только не описать пять (или
сколько там) адмнистративных скрипта точными location'ами:
location = /administrator/login.php { ...
location = /administrator/logout.php { ...
...
Можно сделать вложенные location'ы:
location /administrator/ {
allow 192.168.0.0/24;
deny all;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:8000;
fastcgi_param SCRIPT_FILENAME
/www/beta.autocentre.ua/html$fastcgi_script_name;
include fastcgi_params;
}
}
Наверное, стоит их починить для alias и ему подобного.
--
Игорь Сысоев
http://sysoev.ru
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru