ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Переменная с именем файла


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Переменная с именем файла
  • From: Валентин Бартенев <ne@xxxxxxxx>
  • Date: Tue, 14 Aug 2012 22:33:51 +0400
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=vbart.ru; s=mail; h=Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:In-Reply-To:References:Date:Subject:To:From; bh=GjT2beYK0NJMCR6JWa3rJlxX6mDc2tDQZJdEUW03+WQ=; b=cUakWIpCR6ZUTbhImbqp2xXnHvx2Is/t5xYlTf4InNqYBZslLuvuqLRdW9wd6LQQihnWGU0XtMOZApz3NJfVMCVt/fv/qGAoCZWbUR1q/sfelto84yo82S0hICod/0tYwJxnFCz0aXTZRdyrg2ZrgYWqZTixRGPE/ieUieUEfjK8/3oVdGg2cnd84spes+ejciMywLFy/VAG6QiKaD1cWYB3og2NP7yGkSEr4ef+q8dRI62mgQcHG2JzmmAxsA3zf7UQ0+Lb42RoFTcRd03E3iK+bBFNsCguNFCmYv+LYPH5YHXj6WDCSF8xu4NNG1LIo5WsLdbz6V9qBzsrg6mhaw==;
  • In-reply-to: <617978543.20120814221556@softsearch.ru>
  • References: <684006323.20120814210827@softsearch.ru> <617978543.20120814221556@softsearch.ru>

On Tuesday 14 August 2012 22:15:56 Михаил Монашёв wrote:
> Здравствуйте.
> 
> > Делается запрос к http://site.ru/path/file.ext?arg=value .
> > 
> > Скажите пожалуйста, в какой внутренней переменной nginx-а будет
> > храниться имя файла с расширением, т.е. "file.ext" .
> > 
> > $request_filename  хранит  путь,  а  мне  нужно только имя файла. Хочу
> > выдать заголовок через add_header примерно так:
> > 
> > add_header      Content-Disposition 'attachment; filename="Prefix
> > $filename"';
> 
> попробовал как временное решение так:
> 
>         map $request_filename $filename {
>                 default "";
>                 "~*([^/]+)\.(gif|jpe?g|png).*?$" " $1.$2";
>         }
> 
> и сделал запрос к site.ru/path/1.png.
> 
> в $filename записалось " $1.$2"  вместо ожидаемых " 1.png" . Что я
> сделал не так?

 1. В правой части можно использовать только одну переменную или строку.
 2. Позиционные выделения в map не поддерживаются.

Правильно:

  map $request_filename $filename {
      default "";
      "~*(?<fn>[^/]+\.(?:gif|jpe?g|png))$" $fn;
  }

--
Валентин Бартенев
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.