たいのですが事前に圧縮ファイルはmod_deflate Apache2.x?
-
09-06-2019 - |
質問
いけすべてのコンテンツを通じてapacheと Content-Encoding: zip
その圧縮ができます。良い量のコンテンツは静的ファイルをディスク。いgzipファイルを事前により圧縮してもらった方が良い---そんな時にも求められます。
そのことだと思い mod_gzip
たApache1.xを自動でのファイルです。gzます。ことになるかもしれないと mod_deflate
.
解決
この機能ミでmod_gzipます。Apache2.x、 いるコンテントネゴシエーション.具体的には、ま能を有効にする必要があり MultiViews
の Options
指令 とを指定する必要があります。様エンコードの種類は、 AddEncoding
指令.
他のヒント
答えを自分の問題は、本当にシンプルなラインまたは私confiuration:
Options FollowSymLinks MultiViews
また、MultiViewsのオプションです。ですが、Ubuntuデフォルトのwebサーバの設定、いくついて教えてください。
もっと早Rakeタスクを圧縮すべてのファイルです。
namespace :static do
desc "Gzip compress the static content so Apache doesn't need to do it on-the-fly."
task :compress do
puts "Gzipping js, html and css files."
Dir.glob("#{RAILS_ROOT}/public/**/*.{js,html,css}") do |file|
system "gzip -c -9 #{file} > #{file}.gz"
end
end
end
私はMultiViewsは想定どおりに動作:ドキュメントというMultiviews作品"の場合はサーバーを受け取り、/some/dir/fooが/some/dirは、MultiViewsが有効で、/some/dir/fooが存在しない..."、すなわち:またファイルfoo.js やfoo.js.gz 同じディレクトリに、活性化MultiViewsがおかしくなることはありません。gzファイルを送信する場合においてもAcceptEncoding gzipのヘッダが送信されるブラウザを検証することができるこの挙動により一時的に無効化はmod_deflateモニタリング応答などHTTPFox).
い場合があることMultiViewsつもの名前に変更することができ、元のファイルを追加して特別AddEncoding指令)がダウンロードいただけまを構築することが可能mod_rewriteのルールを扱います。
私はApache2のソースから作成し、発見があったので以下のように変更するしっ httpd.conf ファイル:
追加MultiViewsは、オプション:
Options Indexes FollowSymLinks MultiViews
Strncasecmp AddEncoding:
AddEncoding x-compress .Z AddEncoding x-gzip .gz .tgz
コメントをAddType:
#AddType application/x-compress .Z #AddType application/x-gzip .gz .tgz
できるプと圧縮ファイルを使用 mod_negotiation
ですが、ビットfinicky.第一の難しいのは、 以外の方法での要望は受け付けなファイルが存在しない交渉.い場合 foo.js
や foo.js.gz
両方存在する回答のため /foo.js
常に圧縮されなが回答のため /foo
が正常に動作し).
最も簡単な解決をします(からフランソワMarier が名前を変更された、圧縮解除されたファイルをダブルファイル拡張子で foo.js
展開されて foo.js.js
よう要請 /foo.js
交渉と foo.js.js
(エンコード) foo.js.gz
(gzipのエンコーディング)
兼ね備えているか、以下の設定:
Options +MultiViews
RemoveType .gz
AddEncoding gzip .gz
# Send .tar.gz without Content-Encoding: gzip
<FilesMatch ".+\.tar\.gz$">
RemoveEncoding .gz
# Note: Can use application/x-gzip for backwards-compatibility
AddType application/gzip .gz
</FilesMatch>
I を書いた後 について論評する推論のためにこの構成である。
mod_gzip圧縮コンテンツに飛びます。できる前に圧縮ファイルを実際にログインをサーバーにいらしています。
cd /var/www/.../data/
for file in *; do
gzip -c $file > $file.gz;
done;
利用できる mod_cache
プロキシカルコンテンツメモリやディスク。わからない場合には期待通りの動作をしますと mod_deflate
.
たくさんあります。jsonファイルです。最も読ます。プレビューに答についてのお話がなかった、返される"コンテンツタイプ"。
また、以下の請求を返す前の圧縮ファイルに"Content-Type:application/json"をもとに透明性用マルチビューとForceType
http://www.domain.com/(...)/bigfile.json
-> Content-Encoding:gzip, Content-Type: Content-Encoding:gzip
1)ファイルの名前を変更する:"ファイルです。ext.ext"
2)マルチビュー作品とForceType
ファイルシステム:
// Note there is no bigfile.json
(...)/bigfile.json.gz
(...)/bigfile.json.json
おapache config:
<Directory (...)>
AddEncoding gzip .gz
Options +Multiviews
<Files *.json.gz>
ForceType application/json
</Files>
</Directory>
短期およびシンプルです:)