ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ngx_http_rewrite_module и фай лы с пробел ами



On Thu, 4 Dec 2008 12:56:23 +0300, Sergey Egorov <esvesv@xxxxxxxxx> wrote:
> Hi!
> 
> Имеем вот такой запрос:
> 
> http://somesite.com/catalogue/images/PGF800%202.jpg
> 
> Задача: переписать URI, если файл есть на  
> диске в другом каталоге (к примеру  /site/ 
> clients/c81e728d9d4c2f636f067f89cc14862c)
> 
> Конфиг:
> 
> root /home/user/domains/site.com/public_html;
> #если есть файл в обычном месте -  
> выходим сразу
> if (-f $request_filename) {
>       break;
> }
> if ($request_filename ~  ^/home/user/domains/site.com/public_html(.*) 
> $) {
>       set $test /site/clients/c81e728d9d4c2f636f067f89cc14862c$1;
> }
> #тут поставил !-f чтобы была возможность  
> видеть лог, по идее тут -f
> if (!-f $document_root$test) {
>       rewrite ^(.*)$ $test break;
> }
> 
> Лог:
> 
> 2008/12/04 00:08:04 [notice] 14088#0: *47 "^/home/user/domains/ 
> site.com/public_html(.*)$" matches "/home/user/domains/site.com/ 
> public_html/catalogue/images/PGF800 2.jpg", client: 88.85.170.161,  
> server: www.site.com, request: "GET /catalogue/images/PGF800%202.jpg  
> HTTP/1.1", host: "site.com"
> 2008/12/04 00:08:04 [notice] 14088#0: *47 "^(.*)$" matches "/catalogue/ 
> images/PGF800 2.jpg", client: 88.85.170.161, server: www.site.com,  
> request: "GET /catalogue/images/PGF800%202.jpg HTTP/1.1", host:  
> "site.com"
> 2008/12/04 00:08:04 [notice] 14088#0: *47 rewritten data: "/site/ 
> clients/c81e728d9d4c2f636f067f89cc14862c/catalogue/images/ 
> PGF800%202.jpg", args: "", client: 88.85.170.161, server:  
> www.site.com, request: "GET /catalogue/images/PGF800%202.jpg HTTP/ 
> 1.1", host: "site.com"
> 2008/12/04 00:08:04 [error] 14088#0: *47 open() "/home/user/domains/ 
> site.com/public_html/site/clients/c81e728d9d4c2f636f067f89cc14862c/ 
> catalogue/images/PGF800%202.jpg" failed (2: No such file or  
> directory), client: 88.85.170.161, server: www.site.com, request:  
> "GET /catalogue/images/PGF800%202.jpg HTTP/1.1", host: "site.com"
> 
> Пробовал все последние версии nginx 0.5.37,  
> 0.6.33, 0.7.24 - результат тот же.
> 
> Что делать? :(
> 
> Best regards
> Sergey Egorov
> 

У Вас тут
> if ($request_filename ~  ^/home/user/domains/site.com/public_html(.*) 
> $) {
>       set $test /site/clients/c81e728d9d4c2f636f067f89cc14862c$1;
> }
явно наблюдается пробел перед $



 




Copyright © Lexa Software, 1996-2009.