modrewrite и закодированные буквы encodeURIComponent

Dimka nginx-forum at nginx.us
Fri Jun 27 12:33:14 UTC 2014


Всем привет

Проблема похоже старая, но решения так и не нагуглил.

На сервере хранятся файлы пользователей.
Имена файлов могут быть на разных языках.

Для примера попытка скачать файл "fire fox" с пробелом приводит вот к какой
ошибке.

Лог с ошибкой

2014/06/27 16:27:07 [error] 13852#0: *339 open()
"/tmp/d3a6e42aeb1627b39a22cf7835a36dea/fire%20fox" failed (2: No such file
or directory), client: 80.75.131.7, server: u.com, request: "GET
/attachment/d3a6e42aeb1627b39a22cf7835a36dea/fire%20fox HTTP/1.1", host:
"u.com"

Конфигурация

       # URL - /attachment/d3a6e42aeb1627b39a22cf7835a36dea/fire fox
        location ~ /attachment/(................................)/(.+) {
            set $sub1 $1;
            set $sub2 $2;

            root                /tmp/$sub1;
            rewrite     ^       /$sub2 break;
        }

Как - то можно побороть?

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251223,251223#msg-251223



Подробная информация о списке рассылки nginx-ru