ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Rewrite "на" GZIP content-encoding.


  • To: nginx-ru@xxxxxxxxx
  • Subject: Rewrite "на" GZIP content-encoding.
  • From: Aliaksey Kandratsenka <alk@xxxxxx>
  • Date: Wed, 24 Oct 2007 16:30:30 +0300

Добрый день, 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 знает
способ сделать это лучше?





 




Copyright © Lexa Software, 1996-2009.