どのように、どこでgzip圧縮を有効/無効にできますか?[閉まっている]


8

Drupal 7では、gzip圧縮を有効/無効にできるのはどこですか?この機能のモジュールはありますか?


1
キャッシュされたページを保存/提供するときに圧縮を有効にしたい場合は、まずをクリックしてCache pages for anonymous usersから、admin/config/development/performanceページにオプションを保存します。これCompress cached pages.により、BANDWIDTH OPTIMIZATIONセクションのさらに下にオプションが表示されます(JavaScriptによって非表示/表示されるため、最初のクリックですべて機能する可能性がありますが、何らかの理由でここでは機能しません)。
ジマジャンマ2014

それは圧縮されたものとしてチェックされ、私のサイト(xcubicle.com)をテストしています:whatsmyip.org/http-compression-test ---圧縮されていないと言います。なぜだかわかりません。
Patoshiパトシ

しかし、サーフィンした場合、xcubicle.com / buy / 20467 / google-lg-nexus-5-1632gb-unlocked-phonesと言うので、これは、ホームページがキャッシュされていないため、そうではないことを示唆していますdrupalによって圧縮されている
Jimajamma 2014

私は犯人がフロントページのフォームである可能性があると思います。その解決策。
Patoshiパトシ

5
この質問は実際には非常に明確です。これは閉じられるべきではありませんでした。
Elijah Lynn

回答:


11

個人的には、Drupalが出力圧縮を処理する方法は好きではありません。これはDrupalの外で処理します。

Drupalサイトで、私は追加します

$conf['page_compression'] = FALSE;
$conf['css_gzip_compression'] = FALSE;
$conf['js_gzip_compression'] = FALSE;

これを無効にしたことを示すために、settings.phpおよびカスタムモジュールに追加します。

/**
 * Implements hook_form_FORM_ID_alter().
 */
function MYMODULE_form_system_performance_settings_alter(&$form, $form_state) {
  $form['bandwidth_optimization']['page_compression']['#default_value'] = 0;
  $form['bandwidth_optimization']['page_compression']['#disabled'] = TRUE;
  $form['bandwidth_optimization']['page_compression']['#description'] = t('Handled by Apache.');
}

これは、偶発的な二重出力圧縮を防ぐためでもあります。症状について知らないと診断が非常に困難になる可能性があります。

次に、私のApache設定で、

<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>

  # HTML, TXT, CSS, JavaScript, JSON, XML, HTC:
  <IfModule filter_module>
    FilterDeclare   COMPRESS
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/html
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/css
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/plain
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/xml
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/x-component
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/javascript
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/json
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/xml
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/xhtml+xml
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/rss+xml
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/atom+xml
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/vnd.ms-fontobject
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $image/svg+xml
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $image/x-icon
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/x-font-ttf
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $font/opentype
    FilterChain     COMPRESS
    FilterProtocol  COMPRESS  DEFLATE change=yes;byteranges=no
  </IfModule>

  <IfModule !mod_filter.c>
    # Legacy versions of Apache
    AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
    AddOutputFilterByType DEFLATE application/xhtml+xml application/rss+xml application/atom+xml
    AddOutputFilterByType DEFLATE image/x-icon image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype
  </IfModule>

</IfModule>

これにより、ApacheはMIMEタイプごとに出力圧縮を行い、すべてのテキストベースの出力が確実に圧縮されるようにします。これは、HTML5ボイラープレートプロジェクトの.htaccessファイルの古いバージョンから改作されたもので、現在は別のプロジェクトに存在しています。また、キャッシュ制御用のディレクティブなども追加します。これらすべてを個別のファイルに保存Includeし、仮想ホストに保存します。

これの欠点は、サーバーが各要求を圧縮することですが、私のサイトとクライアントにはうまく機能します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.