> как только у вас возникает желание написать в конфиге nginx условие if,
> знайте, вы делаете что-то неправильно.
> Прочитайте документацию по директивам location и rewrite.Спасибо. Обязательно почитаю, но пока решил таким (multiple conditions https://gist.github.com/jrom/1760790)способом:
# rewrites
if ($host != 'site.ru' ) { rewrite ^(.*)$ http://site.ru$1 permanent; } # unknow hosts
# https -> http, but not js and images
if ($server_port != 80) {
set $redir Y;
}
if ($uri ~* \.(js|gif|png|jpg)$) {
set $redir N;
}
if ($redir = Y) {
rewrite ^(.*)$ http://site.ru$1 permanent;
}
Все файлы с указанным расширением доступны по запрашиваемому протоколу. Может такой костыль кому-нбдь пригодится.