1

Magento のインスタンスを実行しており、頻繁に変更されることのないコンテンツのキャッシュ ルールを設定しようとしています。Magento ルート フォルダーにある .htaccess ファイル (ルールは投稿の下部にあります) に必要なルールを追加しましたが、無視されているようです。http ヘッダーを確認すると、次のように表示されます。

Pragma: no-cache, no-cache
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, private, no-cache, no-store, proxy-revalidate, no-transform

明らかに、私はここで何か間違ったことをしています。「キャッシュなし」ポリシーを強制しているのは誰で、どこで確認する必要がありますか? 回答ありがとうございます。

.htaccess ファイルにルールを追加

# Turn on Expires and set default to 0
ExpiresActive On
ExpiresDefault A0

# Set up caching on media files for 1 year (forever?)
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
    ExpiresDefault A29030400
    Header append Cache-Control "public"
</FilesMatch>

# Set up caching on media files for 2 weeks
<FilesMatch "\.(gif|jpg|jpeg|png|swf)$">
    ExpiresDefault A1209600
    Header append Cache-Control "public"
</FilesMatch>

# Set up 1 week caching on commonly updated files
<FilesMatch "\.(xml|txt|html|js|css)$">
    ExpiresDefault A604800
    Header append Cache-Control "proxy-revalidate"
</FilesMatch>

# Force no caching for dynamic files
<FilesMatch "\.(php|cgi|pl|htm)$">
    ExpiresActive Off
    Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
    Header set Pragma "no-cache"
</FilesMatch>
4

1 に答える 1

2

/media に htaccess があることをご存知でしたか? (フェイスプラント...)

これを行っている場合は、「静的」コンテンツを Cookie のない別のサブドメインに配置することを検討してください。

Magento のバックエンドで、system->config->general->web に移動し、http: //static.yourdomain.com/ と入力します。

これで、.htaccess ディレクティブを元の httpd.conf ファイルに移動し (これは概念的にはより高速です)、.htaccess ファイルを削除/保留することができます。

ここで、Cookie ドメイン (「セッション Cookie 管理」内) を www.yourdomain.com に設定します。これで、static.yourdomain.com に Cookie がなくなるため、Web サーバーはより高速になります。これらの画像が送信されない場合は、DNS の「A」レコードにワイルドカードを設定して、www 以外のアドレスが同じボックスに送信されるようにする必要があります。

/media の .htaccess ファイルを微調整し、それらのディレクティブを static.yourdomain.com.conf に配置できるようになりました。

于 2012-08-29T13:41:32.627 に答える