ПРОЕКТЫ 


  АРХИВ 


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: Как правильно задать ло кейшн



On Thu, Dec 17, 2009 at 05:16:38PM +0300, Maxim Dounin wrote:

> Hello!
> 
> On Thu, Dec 17, 2009 at 04:30:58PM +0300, Андрей Бойко wrote:
> 
> > Добрый день.
> > 
> > Есть локейшн 
> >         location ~* 
> > ^.+\.(swf|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|wmv|avi|asp)$
> >                  {
> >             ssi on;
> >             root        /usr/local/www/htdocs;
> >             expires 24h;
> >         }
> > Он призван отдавать статику напрямую
> > Кто-то умный загрузил кучу файлов вида xxx.GIF, и для этих файлов локейшн 
> > не срабатывает. Как ему правильно дать понять, что регистр может быть любой?
> 
> http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#location
> 
> Там достаточно однозначно написано, что "~*" - это caseless match, 
> указанный location должен срабатывать.
> 
> То, что он не срабатывает - это бага, появилось где-то в 0.8.*, 
> сейчас буду смотреть подробнее.
> 
> Quick workaround - поставить caseless явно в регулярное выражение:
> 
>     location ~ (?i)\.(swf|gif|...)$ {
>         ...
>     }

Патч. Появилось в 0.8.25.


-- 
Игорь Сысоев
http://sysoev.ru
Index: src/http/ngx_http_core_module.c
===================================================================
--- src/http/ngx_http_core_module.c     (revision 2709)
+++ src/http/ngx_http_core_module.c     (working copy)
@@ -2588,6 +2588,8 @@
 
 #if (NGX_HAVE_CASELESS_FILESYSTEM)
     rc.options = NGX_REGEX_CASELESS;
+#else
+    rc.options = caseless;
 #endif
 
     clcf->regex = ngx_http_regex_compile(cf, &rc);
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.