неудобство написания auth_basic
Igor Sysoev
is at rambler-co.ru
Wed May 31 15:13:23 MSD 2006
On Wed, 31 May 2006, Igor Sysoev wrote:
> On Wed, 31 May 2006, Anton Ladokha wrote:
>
>> Если я использую auth_basic и то у меня получаются довольно грамоздкие
>> конструкции локейшенов.
>>
>> Допустим, хочу запаролить одну папку /admin/ :
>>
>> location / {
>> index index.php;
>> }
>> location ~ ^/admin/ {
>> auth_basic ...
>> index index.php;
>> }
>> location ~* ^/admin/.+\.(php)$ {
>> auth_basic ...
>> fastcgi_pass ...
>> }
>> location ~* ^.+\.(php)$ {
>> fastcgi_pass ...
>> }
>>
>> более простого способа нет?
>
> Я бы переписал конфигурацию так:
>
> location / {
> ...
> }
>
> location ~* ^/(?:$|.+/$|.+\.php$) {
> fastcgi_index index.php;
> fastcgi_pass ...
> }
>
> location ~* ^/admin/(?:$|.+/$|.+\.php$) {
> auth_basic ...
> fastcgi_index index.php;
> fastcgi_pass ...
> }
>
> Эта конфигурация в том числе решает и проблему POSTа в /.
Такое тоже должно работать:
location / {
...
}
location ~* ^/(?:$|.+/$|.+\.php$) {
fastcgi_index index.php;
fastcgi_pass ...
location /admin/ {
auth_basic ...
}
}
но хочу предупредить, что не все директивы поддерживают правильное
наследование во вложенных location'ах.
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list