Сжатие Javascript через .htaccess? - PullRequest
9 голосов
/ 17 декабря 2008

Я использую Apache.

Я автоматически распаковываю свои файлы HTML и CSS на лету, используя следующую директиву в моем файле .htaccess.

# Enable ETag
FileETag MTime Size


# Set expiration header
ExpiresActive on
ExpiresDefault "access plus 1 year"
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/css A2592000
ExpiresByType text/javascript A2592000
ExpiresByType text/js A2592000


# Compress some text file types
AddOutputFilterByType DEFLATE text/html text/css text/xml application/x-javascript text/javascript text/js


# Deactivate compression for buggy browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

Однако, когда я использую плагин Firebug для Firefox, я замечаю, что мои файлы javascript НЕ сжаты (только мои файлы HTML и CSS).

Есть идеи, почему мои файлы JavaScript не сжимаются на лету Apache?

Ответы [ 3 ]

9 голосов
/ 17 декабря 2008

Я понял, похоже, мне нужно, чтобы это было:

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

Чтобы получить javascript для сжатия / gzip

4 голосов
/ 17 декабря 2008

Вы объявили MIME-тип text / javascript в Apache? Если конфигурация вашего сервера указывает, скажем, на файл mime.types с одним из них:

TypesConfig /private/etc/apache2/mime.types

тогда указанный файл должен содержать следующую строку:

application/javascript              js

В противном случае вы должны увидеть где-то одно из них:

AddType application/javascript .js

По крайней мере, это мое первое предположение, если файлы HTML и CSS сжимаются, а файлы JavaScript - нет.

2 голосов
/ 01 октября 2015

Попробуйте разместить свои объявления в отдельных строках. Вот соответствующая часть одного из моих файлов .htaccess, который работает как нужно. Если вы храните свои скрипты в отдельном каталоге (например, / js), этот файл также должен находиться в этом каталоге.

AddOutputFilterByType DEFLATE text/plain

AddOutputFilterByType DEFLATE text/html

AddOutputFilterByType DEFLATE text/xml

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE text/javascript

AddOutputFilterByType DEFLATE text/js

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE application/xhtml+xml

AddOutputFilterByType DEFLATE application/rss+xml

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE application/x-javascript
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...