Как я могу получить сжатие Apache gzip для работы?


Я не могу заставить мой сайт использовать сжатие gzip.

Я недавно смотрел этот видео Крис Койер над на css-tricks.com в видео он рассказывает о том, как включить сжатие gzip, чтобы веб-сайты работали быстрее.

согласно его инструкции, я подключился к github через html5boilerplate.com, скопировал код сжатия gzip из их .htaccess файл, вставил его в свой собственный, и загрузил его на мой сайт.

Я проверил его с помощью gzipwtf.com и это, кажется, не работает. Может кто-нибудь помочь мне с этим?

мой .htaccess файл выглядит так:

# ----------------------------------------------------------------------
# Trim www
# ----------------------------------------------------------------------

RewriteEngine On
RewriteCond %{HTTP_HOST} !^orbitprint.com$ [NC]
RewriteRule ^(.*)$ http://orbitprint.com/ [L,R=301]

# ----------------------------------------------------------------------
# Gzip compression
# ----------------------------------------------------------------------

<IfModule mod_deflate.c>

  # Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
  <IfModule mod_setenvif.c>
    <IfModule mod_headers.c>
      SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)s*,?s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
      RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
    </IfModule>
  </IfModule>

  # Compress all output labeled with one of the following MIME-types
  <IfModule mod_filter.c>
    AddOutputFilterByType DEFLATE application/atom+xml 
                                  application/javascript 
                                  application/json 
                                  application/rss+xml 
                                  application/vnd.ms-fontobject 
                                  application/x-font-ttf 
                                  application/xhtml+xml 
                                  application/xml 
                                  font/opentype 
                                  image/svg+xml 
                                  image/x-icon 
                                  text/css 
                                  text/html 
                                  text/plain 
                                  text/x-component 
                                  text/xml
  </IfModule>

</IfModule>
10 52

10 ответов:

попробуйте это :

####################
# GZIP COMPRESSION #
####################
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip

я попробовал и это лучше, чем другие, я думаю... Просто вставьте ваш .htaccess файл, чем проверить время загрузки на Google PageSpeed,Pingdom Tools и GTmetrics.

# Enable GZIP
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</ifmodule>

# Expires Headers - 2678400s = 31 days
<ifmodule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType text/html "access plus 7200 seconds"
  ExpiresByType image/gif "access plus 2678400 seconds"
  ExpiresByType image/jpeg "access plus 2678400 seconds"
  ExpiresByType image/png "access plus 2678400 seconds"
  ExpiresByType text/css "access plus 518400 seconds"
  ExpiresByType text/javascript "access plus 2678400 seconds"
  ExpiresByType application/x-javascript "access plus 2678400 seconds"
</ifmodule>

# Cache Headers
<ifmodule mod_headers.c>
  # Cache specified files for 31 days
  <filesmatch "\.(ico|flv|jpg|jpeg|png|gif|css|swf)$">
  Header set Cache-Control "max-age=2678400, public"
  </filesmatch>
  # Cache HTML files for a couple hours
  <filesmatch "\.(html|htm)$">
  Header set Cache-Control "max-age=7200, private, must-revalidate"
  </filesmatch>
  # Cache PDFs for a day
  <filesmatch "\.(pdf)$">
  Header set Cache-Control "max-age=86400, public"
  </filesmatch>
  # Cache Javascripts for 31 days
  <filesmatch "\.(js)$">
  Header set Cache-Control "max-age=2678400, private"
  </filesmatch>
</ifmodule>

ваш .htaccess должен работать просто отлично; это зависит от четырех различных модулей Apache (по одному на каждый

в первую очередь перейти к apache/bin/conf / httpd.conf и убедитесь, что mod_deflate.so включено.

тогда идите в .htaccess и добавить эту строку:

SetOutputFilter DEFLATE

Это должно выводить весь контент, который служил gzipped, я пробовал его, и он работает.

столкнулся с этой проблемой, используя то же самое .настройка htaccess. Я понял, что мой сервер обслуживает файлы JavaScript как text/javascript вместо application/javascript. Как только я добавил text/javascript до AddOutputFilterByType объявление, gzip начал работать.

о том, почему javascript служил как text/javascript: есть AddType 'text/javascript' js декларации в верхней части моего корня .файл htaccess. После его удаления (он был добавлен по ошибке), javascript начинает работать как application/javascript.

в моем случае я использовал следующий код для включения сжатия gzip в веб-сервере apache.

  # Compress HTML File, CSS File, JavaScript File, Text File, XML File and Fonts
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE application/json
    AddOutputFilterByType DEFLATE application/x-httpd-php
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript
    AddOutputFilterByType DEFLATE font/otf
    AddOutputFilterByType DEFLATE font/ttf

Я взял ссылку из http://www.tutsway.com/enable-gzip-compression-using-htacess.php.

в моем случае добавить только эту строку работал

SetOutputFilter DEFLATE

включить сжатие через .htaccess

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

The .файл htaccess управляет многими важными вещами для вашего сайта.

код ниже должен быть добавлен к вашему.файл htaccess...

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

сохранить .htaccess файл, а затем обновить веб-страницу.

проверьте, работает ли ваше сжатие с помощью инструмент сжатия Gzip.

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

<IfModule mod_deflate.c>
# Insert filters
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE image/svg+xml

# Drop problematic browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</IfModule>

Если ваш веб-хост находится через Панель C, включите сжатие G ZIP на панели Apache C

перейдите в CPanel и проверьте вкладку программное обеспечение.

ранее сайт оптимизации использовался для работы, но теперь доступна новая опция, т. е. "MultiPHP ini Editor".

выберите доменное имя, которое вы хотите сжать.

прокрутите вниз до конца, пока не найдете сжатие вывода zip и не включите его.

теперь проверьте еще раз для G ZIP Компрессия.

вы также можете следить за видео-учебник. https://www.youtube.com/watch?v=o0UDmcpGlZI