Rewrite "на" GZIP content-encoding.
Aliaksey Kandratsenka
alk at tut.by
Wed Oct 24 17:30:30 MSD 2007
Добрый день, all.
У меня в определенном каталоге есть файлы all.js (хорошо пакуемый
javascript) и all.js.gz (он же, только пожатый gzip'ом). Я хочу чтобы
вместо all.js можно было отдавать all.js.gz (с правильным
content-encoding, разумеется). Мне удалось это сконфигурировать так:
# переписывать только если клиент готов принимать gzip
if ($http_accept_encoding ~* gzip) {
rewrite "/javascripts/all.js" "/javascripts/all.js.gz";
}
# если спакованой версии нету переписать назад
if (!-f "/opt/phase1/public/javascripts/all.js.gz") {
rewrite "/javascripts/all.js.gz" "/javascripts/all.js";
}
location = /javascripts/all.js.gz {
# поставить правильные content-{type, encoding}
add_header Content-Type text/javascript;
add_header Content-Encoding gzip;
}
В данном случае очень просится поддержка либо вложенных IF'ов или
поддержка коньюнкции в IF'ах. Без этого приходится прибегать к
переписыванию "назад". В связи с этим у меня вопрос. Может ALL знает
способ сделать это лучше?
More information about the nginx-ru
mailing list