Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Rewrite "на" GZIP content-encoding.
- To: nginx-ru@xxxxxxxxx
- Subject: Re: Rewrite "на" GZIP content-encoding.
- From: Roxis <roxis@xxxxxxx>
- Date: Wed, 24 Oct 2007 15:42:00 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:from:to:subject:date:references:in-reply-to:x-face:x-mailer:mime-version:content-type:content-transfer-encoding:content-disposition:message-id:sender; bh=3bDbI4awv+7nxthWtduGbTGuODQRw0MOU4H6NCygepU=; b=MfHcYEBql26qa9nGEnetHWsO+XaVHKg2zhU24lkB6QfDnYue16xhpNCdDljMqTrO6zSnO7nfUmylrhplEs2uiAR66nwF6nqwkhZ2X28jRoUyfx3yQk8cLTAXdDYJLmGA4JP99eh7C3Cuk72jf5NCOTS5Gw1e0ayhz5sLVThTbFA=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:from:to:subject:date:references:in-reply-to:x-face:x-mailer:mime-version:content-type:content-transfer-encoding:content-disposition:message-id:sender; b=HdFDQG6t/YxwqqUeCBctHjBPUzufjncCYTtaV84pf1zmMWuHw39xvpNq5SY+c29zWTYV+EKsVCYtWZtqvmdNGlKlJg/+F0C5njkVF7PBQt5AZWzhUT6Fc6L8YGjn/+sAMYmGpJkQKlQEsDghIsgbrMkR86IlP5OWJWdWjEac4Vw=
- In-reply-to: <1193232630.6837.15.camel@xxxxxxxxxxxxxxxxxx>
- References: <1193232630.6837.15.camel@xxxxxxxxxxxxxxxxxx>
On Wednesday 24 October 2007, Aliaksey Kandratsenka wrote:
> Добрый день, 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 знает
> способ сделать это лучше?
у меня такой вариант:
set $gz_cache "true";
if ($http_accept_encoding !~ gzip) {
set $gz_cache "false";
}
if (!-f "/www/gz/$requst_file") {
set $gz_cache "false";
}
if ($gz_cache == "true") {
root "/www/gz";
add_header Content-Encoding gzip;
}
|