Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: $1 в post_action
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
|