Назад | Перейти на главную страницу

Включить mod_deflate для каждого уровня каталога

Я использую следующий код, когда я захожу на сайт, он сжимает только все jsp внутри всех URL-адресов в / abc, но игнорирует все файлы js и css. Я хочу сжать файлы js и css во всех подпапках в пути / abc? Как я могу это сделать. Спасибо!

<LocationMatch "/abc">

  <IfModule mod_deflate.c>
  SetOutputFilter DEFLATE

  # Don't compress images
   SetEnvIfNoCase Request_URI \
   \.(?:gif|jpe?g|png)$ no-gzip dont-vary

 #Don't compress PDFs
  SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary

 #Don't compress compressed file formats
 SetEnvIfNoCase Request_URI \.(?:7z|bz|bzip|gz|gzip|ngzip|rar|tgz|zip)$ no-gzip dont-vary

    <IfModule mod_headers.c>
      Header append Vary User-Agent
    </IfModule>
  </IfModule>
</LocationMatch>

Почему бы не попробовать что-нибудь подобное?

<Location /abc>
    SetOutputFilter DEFLATE
    SetEnvIfNoCase Request_URI \ .(?:gif|jpe?g|png)$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI .pdf$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI .(?:7z|bz|bzip|gz|gzip|ngzip|rar|tgz|zip)$ no-gzip dont-vary
</Location>

mod_deflate будет сжимать ТОЛЬКО те вещи, для которых OutputFilter установлен на DEFLATE. Если вы определите это внутри Location или Directory тег, тогда mod_deflate буду смотреть только под эти области. В приведенном выше примере это будет применяться ТОЛЬКО к папкам с относительным url / abc.

Андрей