Помогите с uri и root
Lystopad Aleksandr
laa at laa.zp.ua
Tue Mar 25 13:12:54 UTC 2014
Здравствуйте!
Использую nginx/1.4.4 на freebsd 8.4.
Есть ссылка http://site.com/%d0%d4%d1/P044022-15ES--small.jpg
По этой ссылке ни как не получается отдать файл из root
Мне нужно запросы, в которых картинка и два тире перекидывать на
другой виртуальный сайт, который в данный момент находится в этом
же конфиге. Также на сервере файлы могут быть названы в нижнем
регистре.
Конфигурация nginx.conf:
location ~* --.*.(jpg|jpeg|gif)$ {
if ($host !~* "^photo.*") {
rewrite ^(.*)$ http://site2.com$1 permanent;
}
root /dir/photo/;
try_files $uri $uri_lowercase @1_fallback;
}
location ~* \.(jpg|jpeg|gif)$ {
root /dir/photo/;
try_files $uri $uri_lowercase @1_fallback;
}
location @1_fallback {
root /dir/photo/dir2/;
try_files $uri $uri_lowercase @fallback;
error_page 404 = @fallback;
}
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-nginx-real-ip-client $proxy_add_x_forwarded_for;
proxy_pass http://$host:88;
index index.php index.php4 index.html index.htm;
more_clear_headers 'X-Powered-By';
}
если этот файл открывать при помощи ls -l, то получается вот что:
# ls -l '/dir/photo/dir2/\xD0\xD4\xD1/p044022-15es--frontsmall.jpg'
-rwxrwxr-x 1 user web - 8183 Mar 20 18:02 /dir/photo/dir2/\xD0\xD4\xD1/p044022-15es--frontsmall.jpg
# ls -l /dir/photo/dir2/\xD0\xD4\xD1/p044022-15es--frontsmall.jpg
ls: /dir/photo/dir2/xD0xD4xD1/p044022-15es--frontsmall.jpg: No such file or directory
как только не пробовали изменять название директории
на сервере -- бестолку.
Нужно настроить nginx на отдачу файлов с подобным именем при помощи root .
Догадываюсь, что проблему можно решить путем изменения ссылки.
Прошу помочь снять с ручника: где я туплю?
--
Lystopad Aleksandr
Подробная информация о списке рассылки nginx-ru