Re: $1 в post_action
Igor Sysoev
is at rambler-co.ru
Tue May 30 17:01:29 MSD 2006
On Tue, 30 May 2006, drmarker wrote:
> Отлично, работает, большое спасибо.
>
> При этом $token будет жить только внутри конкретно этого реквеста?
Да.
> Я чуть "упростил конфиг" и получилось вот что:
>
> server {
> listen 80 default;
>
> server_name distrib;
>
> location / {
> if ($uri ~ '^/([[:xdigit:]]{32})/(.+)$') {
> set $token $1;
> set $file $2;
>
> rewrite ^ /cgi-bin/download-start.pl?to=$token&fi=$file last;
> }
> }
>
> location /cgi-bin/ {
> proxy_pass http://auth:8008/cgi-bin/;
> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
> }
>
> location /files {
> internal;
>
> root /srv/movdb;
>
> post_action /download-stop;
> }
>
> location /download-stop {
> internal;
>
> rewrite ^ /cgi-bin/download-stop.pl?to=$token&bs=$body_bytes_sent
> last;
> }
>
> }
>
> Все правильно с точки зрения политики партии?
>
> В твоем примере стоит `?` после $body_bytes_sent? Typo?
Нет, http://sysoev.ru/nginx/docs/http/ngx_http_rewrite_module.html#rewrite
Если в строке замены указаны аргументы, то предыдущие аргументы запроса
добавляются после них. Можно отказаться от этого добавления, указав в
конце строки замены знак вопроса:
rewrite ^/users/(.*)$ /show?user=$1? last;
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list