0

nginx Web サーバーのセットアップがあり、インデックス ページに別のブラウザー レベルのキャッシュ有効期限 ( expires ) を指定する必要があります。

私が試したこと

location =/{
 expires 1m;
 root /data/site;
 index index.htm;
}


location /{
expires 5d;
root /data/site;
 }

index.htm ページの有効期限は 1 分ですが、応答ヘッダーに 5 日が表示されます。

4

1 に答える 1

1

やっと答えが出ました。nginx の仕組みを手動で確認する必要がありました。

リクエスト「/」の処理はより複雑です。接頭辞の場所「/」のみに一致するため、この場所で処理されます。次に、index ディレクティブは、そのパラメーターと「root /data/site」ディレクティブに従って、インデックス ファイルの存在をテストします。ファイル /data/site/index.htm が存在する場合、ディレクティブは「/index.htm」への内部リダイレクトを実行し、nginxはリクエストがクライアントによって送信されたかのように場所を再度検索します..

そのため、index.htm ファイルを検索する場所をもう 1 つ追加する必要がありました

location ~* \index.(htm?l)$ {
  expires 1d;

  root  /data/site;
  index  index.html index.htm;
}
于 2013-06-06T14:54:03.437 に答える