rewrite & $remote_user

Igor Sysoev igor at sysoev.ru
Tue Mar 12 16:43:33 UTC 2013


On Mar 12, 2013, at 14:59 , Oleg wrote:

>  Здравствуйте.
> 
>  Есть следующая конфигурация:
> 
>        location /test {
>                auth_basic      "test zone";
>                auth_basic_user_file /var/www/test/.htpasswd;
>                root /var/www;
> 
>                rewrite ^/test/?$ /test/user/$remote_user/f redirect;
> 	}
> 
>  Хочется, что бы после аутентификации пользователя редиректило на его
> страницу. Порядок (сначало аутентификация, потом перенаправление) работает
> как подразумевается, а, вот, подстановка $remote_user не работает. В браузере
> http://host/test даёт http://host/test/user//f. Если использовать, для примера,
> $remote_addr, то подстановка работает как надо.

location /test {
    auth_basic      "test zone";
    auth_basic_user_file /var/www/test/.htpasswd;
    root /var/www;

    location = /test {
        return 301  http://$host/test/user/$remote_user/f;
    }

    location = /test/ {
        return 301  http://$host/test/user/$remote_user/f;
    }
}


--
Igor Sysoev
http://nginx.com/services.html


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