Re: Как правильно задать локейшн
Maxim Dounin
mdounin на mdounin.ru
Чт Дек 17 17:16:38 MSK 2009
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|...)$ {
...
}
Maxim Dounin
Подробная информация о списке рассылки nginx-ru