これは次のようなものです: ここには CDN 上にあるドメイン名があり、元々は IMG や JS などのいくつかの静的リソースをキャッシュしていました。しかし、ビジネス上のニーズにより、ユーザーのフィードバックを受け入れるためのインターフェイスとして新しい動的 php ファイルを追加しました。
その後、今日、オンラインでこのインターフェイスに小さな問題が発生し、コードを変更した後に更新が機能しないことがわかりましたが、その時点では、リンクのパラメーターを変更するとコードは機能しました。リンクは CDN によってキャッシュされていましたが、運用および保守担当者からは、CDN は動的ファイルをキャッシュしないと言われました。次に、nginx ログをテストして Web ページを更新しましたが、確かにアクセス ログはありませんでした。
最後に、運用保守担当者は分析のためにリンクを CDN ベンダーに送信し、それが実際にキャッシュされていることが判明しました。 CDN は、元のサイトのポリシーに従うように構成されています。デフォルトでは、PHP ファイルがキャッシュされないよう設定されていないため、24 時間キャッシュされます
。
PHP をキャッシュしないように設定する場合は、nginx 設定ファイルの場所にヘッダーを追加する必要があります
<code><span>//配置PHP不缓存</span> location ~ <span>.</span><span>*\</span><span>.</span>(php<span>|</span>php5)<span>?</span>$ { add_header <span>Cache</span><span>-Control</span> no<span>-cache</span>; } <span>//配置缓存2分钟</span> location ~<span>*</span> ^<span>.</span><span>+\</span><span>.</span>(js<span>|</span>css)$ { expires <span>120</span>s; }</code>
以上、「動的ファイルを CDN にキャッシュさせない」の内容を側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。