Re: Настройка nginx под image hosting
Oleksandr V. Typlyns'kyi
wangsamp на gmail.com
Пн Апр 12 19:50:34 MSD 2010
Today Apr 12, 2010 at 11:05 grigory wrote:
> Может, кто подскажет, как корректно заменить эту конструкцию на try_files при условии, что нет fastcgi:
> location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$ {
> access_log off;
> expires 365d;
> root /var/www/virtual/domain.com;
>
> if (!-e $request_filename) {
> rewrite ^\/folder([0-9]+)\/(+)\.gif$ http://sub.domain.com/folder$1/$2.gif;
> break;
> }
> }
Если конфиг именно такой, то он предусматривает внешний редирект на такой же URI, но на другом домене.
try_files же работает в контексте одного location с fallback на внутренний редирект.
Ваша цель избежать конструкции "if (!-e $request_filename)" и редирект нужно отдавать только для некоторых gif-ов?
Если да, то можно попробовать так:
location ~* \.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$ {
access_log off;
expires 365d;
root /var/www/virtual/domain.com;
error_page 404 = @gifredir;
}
location @gifredir {
rewrite ^\/folder([0-9]+)\/(.+)\.gif$ http://sub.domain.com/folder$1/$2.gif;
return 404;
}
--
WNGS-RIPE
Подробная информация о списке рассылки nginx-ru