2

index.htmlとindex.html.gzの2つのファイルがあります。

クライアントがgzipをサポートしている場合、index.html.gzを提供したいと思います。クライアントがそうでない場合、私はindex.htmlを提供したいと思います。

これは、訪問者がwww.site.comにアクセスした場合に機能するはずです。

これがどのように行われるのか本当にわかりません:(

編集:私はそれを.htaccessで動作させようとしています

私は他のページでそれを簡単に行うことができます:

RewriteCond %{HTTP:Accept-encoding} gzip
RewriteRule ^contact\.html$ contact.gz

しかし、人々はwww.site.com/index.htmlと入力しないので、インデックスではそれを行うことができません。彼らはindex.htmlを除外します。

4

1 に答える 1

0

誰かがこれを読んでいるなら、私は最終的に答えを見つけました.

これを行うにはさまざまな方法があります。一部の Web サーバー (H2O など) は、たとえば、ファイルの ".gz" バージョン (index.html.gz) が存在する場合、事前に圧縮されたバージョンのサイトを自動的に提供することさえサポートしています。

ただし、Apacheで行った方法は、.htaccessを使用して、ファイルに対するすべてのリクエストを「.gz」インスタンスにリダイレクトすることでした。これは RewriteRule を使用して可能です

ただし、ブラウザが GZip 圧縮されたデータをテキストであると認識してレンダリングしようとしたため、すべてのデータがスクランブルされてブラウザに表示されました。ファイルのgzip圧縮バージョンを送り返すときに、コンテンツエンコーディングヘッダーをgzipに適切に設定するには、.htaccessを使用する必要がありました。その後、すべてが完璧に機能しました。

もう 1 つのアドバイスとして、ファイルを gzip 圧縮するときは、バッチ スクリプトを使用して、各圧縮モード 1 ~ 9 を使用してファイルを gzip すると、最終的に 10 個のファイルが作成されます。圧縮モード ~5 を超えると、保存するサイズがほとんど見えなくなり、多くの場合 1 KB 未満になりますが、このファイルを解凍するために必要な CPU サイクルは増加し続けます。したがって、各ファイルに最適な圧縮レベルを見つけてください。デフォルトで 9 にしないでください。

于 2015-03-20T06:30:00.797 に答える