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

gzip js на apache

следующая конфигурация в httpd.conf только gzip css и html, а не javascript, любая идея?

AddOutputFilterByType DEFLATE text/html text/plain text/javascript text/css
AddOutputFilterByType DEFLATE application/x-javascript

Скорее всего, потому что тип MIME для Javascript горячо оспаривается.

Попробуйте добавить application/javascript и text/x-js (так же как application/x-javascript)

Тем не менее, более надежным способом может быть фильтрация на основе .js расширение файла. Увидеть Request_URI директива для получения дополнительной информации (http://httpd.apache.org/docs/2.0/mod/mod_deflate.html) - это может не сработать, если вы используете перезаписанные URL-адреса, в которых не используется .js расширение для файлов JavaScript.

Если это не сработает, возможно, ваш дистрибутив Linux использует совершенно другой тип MIME для JavaScript. Найдите TypesConfig директиву в вашем файле конфигурации и посмотрите, как она определяет JavaScript. Затем добавьте этот тип MIME.

Вероятно, это ваш лучший подход:

<IfModule mod_deflate.c>
      AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript text/css application/x-javascript
      BrowserMatch ^Mozilla/4 gzip-only-text/html
      BrowserMatch ^Mozilla/4\.[0678] no-gzip
      BrowserMatch \bMSIE\s(7|8)  !no-gzip !gzip-only-text/html
      Header set Vary *
      DeflateCompressionLevel 1

Internet Explorer (некоторые версии) плохо справляется с интенсивным сжатием, поэтому лучше применять сжатие для каждого браузера. Эти настройки взяты с большого веб-сайта с большим количеством клиентов - и это были единственные настройки, которые мы пробовали, которые работали в 100% случаев.