Welcome! Log In Create A New Profile

Advanced

Непонятки с location internal и rewrite

Posted by ZULI 
Непонятки с location internal и rewrite
October 10, 2010 11:06AM
Доброе время суток!

Помогите пожалуйста решить задачу.

Стоит связка nginx-0.8.52 + apache-2.2.16_1 на FreeBSD 7.3 (все из портов). Есть скрытая директория для скачивания файлов

location / {
rewrite (.*.zip)$ /aaa.php?file=$1&addr=$remote_addr last;

proxy_pass http://127.0.0.1:8080/;

еще куча всякого разного прямо как в доке

}

location /download/ {
internal;
root /download/;
}

Но вот незадача если делаешь запрос site.com/download/anyfile.zip то выдает ошибку 404 (подозреваю не срабатывает реврайт и естественно что не находит файл т.к. он в зоне internal) , а если запрос site.com/download2/anyfile.zip то реврайт срабатывает и передается на исполнение скрипту.

Подскажите плиз куда копать то?



Edited 1 time(s). Last edit at 10/10/2010 11:07AM by ZULI.
Re: Непонятки с location internal и rewrite
December 08, 2010 05:49PM
internal; означает то, что это только для внутренних редиректов, подробнее - в документации - http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#internal - поскольку /download/ интернал, то при запросе вида /download/file сервер выдаст 404

А почему бы тогда не сделать директорию для скачивани другой, а пути выводить как /download/anyfile.zip ? Тогда и волки сыты, и овцы целы, и "скрытую директорию" никто не увидит.
Re: Непонятки с location internal и rewrite
December 08, 2010 05:58PM
Немного протормозил, в итоге так и сделал, но все же плохо что когда существует папка/файл в location .... internal то выдает 404, а не просто игнорирует что она существует и срабатывает rewrite.
Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 121
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready