Re: Помогите с конфигом
Валентин Бартенев
ne на vbart.ru
Вс Фев 19 19:56:57 UTC 2012
On Sunday 19 February 2012 23:34:30 Дмитрий Жильцов wrote:
> Здравствуйте.
>
> Помогите пожалуйста решить следующую задачку.
>
> Дано.
>
> 1. Структура каталогов и файлов
> /opt/mp3/$trackID.mp3
> /opt/wav/$trackID.wav
> /opt/fadeout/$trackID.mp3
> 2. $trackID - уникальный номер трека. Треки с одним ID по сути одни и
> теже треки( по содержанию) но разные по формату , по этому лежат в
> разных диреториях на сервере.
>
> Задача.
>
> Необходимо отдавать эти треки по http по следующим URL
> http://site.com/listen/$trackID/mp3/
> http://site.com/listen/$trackID/mp3/fadeout/
> http://site.com/listen/$trackID/wav/
>
> Пример
>
> Когда пользователь вводит в адресной строке URL
> http://site.com/listen/100/mp3/ то ему отдаётся файл /opt/mp3/100.mp3
> если URL http://site.com/listen/100/mp3/fadeout/ то отдаётся файл
> /opt/fadeout/100.mp3
> если URl http://site.com/listen/100/wav/ то отдаётся файл /opt/wav/100.wav
>
> Пока ничего в голову не приходит, как можно реализовать.
>
А задача то простейшая, если читать документацию.
http://nginx.org/ru/docs/http/ngx_http_core_module.html#location
http://nginx.org/ru/docs/http/ngx_http_core_module.html#alias
man pcresyntax
man pcrepattern
и т. д.
location /listen/ {
location ~^/listen/(?P<trID>[^/]+)/(?P<trExt>mp3|wav)$ {
alias /opt/$trExt/$trID.$trExt;
}
location ~^/listen/(?P<trID>[^/]+)/mp3/fadeout/$ {
alias /opt/fadeout/$trID.mp3;
}
}
--
Валентин Бартенев
Подробная информация о списке рассылки nginx-ru