nginx и X-Accel-Redirect

grey109

Новичок
Здравствуйте!

Есть сайт с видео-учебниками. Сами видео-файлы расположены в директориях:
/site.ru/dir1/
/site.ru/dir2/
...
/site.ru/dir100/

Скачивание реализовано через nginx, посредством X-Accel-Redirect. В конфиге есть соответствующая секция:
location ~* ^/download-internal/ {
internal;
root /site.ru;
rewrite ^/download-internal/(.*)$ /$1 break; // хочу избавиться от этого
break;
}

В скрипте, который отдает файл, прописано:
header("X-Accel-Redirect: /download-internal/dir".$n."/".$filename);


Все работает, но как-то не нравится, что в конфиге есть правило rewrite, которое просто убирает из пути /download-internal/. Мне кажется, что это как-то не правильно и можно сделать контролируемое скачивание без лишнего rewrite. Пересмотрел много примеров: если была бы одна папка, откуда нужно было бы сделать скачивание - проблем бы не было, а у меня их сотни. Создать одну папку, переместить в нее все директории dir* - не вариант. Создавать сотни location – тоже.

Подскажите, можно ли как-то отказаться от rewrite в моем случае, когда нужно контролировать скачивание из сотен папок?

Спасибо.
 

AnrDaemon

Продвинутый новичок
Это nginx! Отучайтесь уже от апачевской привычки лепить реврайты на каждый чих!
Код:
location ^~ "/download-internal/" {
  alias "/site.ru/";
}
Всё!
 
Сверху