web-dev-qa-db-ja.com

Apache2 gzipが機能しませんか?

gzipのコンテンツに対して、インターネット上のほぼすべてのことを行いました。うまくいかないようです。私はここで試したことすべてを入れることができないほど多くのことをしたので、ここで試したことをいくつか示します。

これを.htaccessに追加しようとしましたが、Apache2.confに追加してApacheを再起動しようとしました。

<IfModule mod_deflate.c>
  # Compress HTML, CSS, JavaScript, Text, XML and fonts
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE font/opentype
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/xml

  # Remove browser bugs (only needed for really old browsers)
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  Header append Vary User-Agent
</IfModule>

両方とも機能しません。 Apacheを使用するAWS EC2 Ubuntuサーバーにいます。

1
Edward

答えが見つかりました...ついに!

このようなコードは、次のようなものでした。

SetEnvIfExpr no-gzip

それは私のApache2.confファイルにありました。そのコードを削除すると、うまくいきました!

0
Edward

Apache2言う:

さらに1つのディレクティブAddOutputFilterByTypeは引き続きサポートされますが、非推奨です。代わりに動的構成を使用してください。

最初に、AddOutputFilterディレクティブを使用する方が良いと考えました。


ただし、 Apacheでgzip圧縮を有効にする方法 にある解決策は、mod_deflateを設定するための十分な新しい方法を示しています。

そっくり:

<IfModule mod_mime.c>
 AddType application/x-javascript .js
 AddType text/css .css
</IfModule>
<IfModule mod_deflate.c>
 SetOutputFilter DEFLATE
  <IfModule mod_setenvif.c>
   SetEnvIfNoCase Request_URI \.(?:rar|Zip)$ no-gzip dont-vary
   SetEnvIfNoCase Request_URI \.(?:gif|jpg|png)$ no-gzip dont-vary
   SetEnvIfNoCase Request_URI \.(?:avi|mov|mp4)$ no-gzip dont-vary
   SetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-vary
  </IfModule>
 <IfModule mod_headers.c>
  Header append Vary User-Agent env=!dont-vary
 </IfModule>
</IfModule>

さまざまなサブジェクトを読み取ります。


Apache 1.3 mod_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>

こちらをご覧ください/ここにあります

そして、本当に古いブラウザに関する部分は.htaccessの信頼性の高い部分ではないという私の謙虚な意見

0
swift