0

サイト全体の js-files/css-files のいくつかを gzip し、これを htaccess-file に追加しました。

# BEGIN Gzip Compression
AddEncoding gzip .gz
<filesmatch "\.js\.gz$">
AddType "text/javascript" .gz
</filesmatch>
<filesmatch "\.css\.gz$">
AddType "text/css" .gz
</filesmatch>
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME} \.(js|css)$
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]
</ifmodule>
# END Gzip Compression

# 1 YEAR
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
Header set Cache-Control "max-age=29030400, public"
</FilesMatch>

# 1 HOUR
<FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=3600, public"
</FilesMatch>

# 1 HOUR
<FilesMatch "\.(txt|xml|js|css)$">
Header set Cache-Control "max-age=3600"
</FilesMatch>

# NEVER CACHE - notice the extra directives
<FilesMatch "\.(html|htm|php|cgi|pl)$">
Header set Cache-Control "max-age=0, private, no-store, no-cache, must-revalidate"
</FilesMatch>

残念ながら、js ファイルのロードにはかなりの時間が必要です (10 秒以上)。

何が問題なのですか?

//更新: 言い忘れていましたが、ファイルがキャッシュされていないようです。

4

2 に答える 2

1

これを試して、書き換えルールを削除してください

#Gzip
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript text/javascript
</ifmodule>
#End Gzip
于 2013-07-13T17:23:08.967 に答える
0

与えられた答えに追加するには、書き換えルールがすべてのリクエストで静的ファイルへのリダイレクトを引き起こしていると思います。代わりに mod_deflate を使用する必要があります。Apache は mod_deflate を使用して gzip 圧縮を非常に処理するため、リソースの個別の圧縮バージョンを用意する理由はまったくないと思います。

キャッシュ ポリシーについては、mod_expires を使用する必要があると思います。以下のサンプルを参照してください。

<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType image/gif "access plus 5 months"
  ExpiresByType image/jpeg "access plus 5 months"
  ExpiresByType image/png "access plus 5 months"
  ExpiresByType text/css "access plus 1 week"
  ExpiresByType application/x-javascript "access plus 1 week"
  ExpiresByType application/javascript "access plus 1 week"
  ExpiresByType text/javascript "access plus 1 week"
  ExpiresByType image/x-icon "access plus 5 months"
</IfModule>
于 2013-07-13T17:28:53.420 に答える