一部のコンテンツがユーザーによって生成される PHP Web サイトがあります。たとえば、ユーザーは写真をアップロードしてサイズを変更し、リクエストすることができます。nginx 構成で MIME タイプ (応答ヘッダー) にExpires
基づいてヘッダー (キャッシュ用) を指定したいと思います。Content-Type
これは私の現在の構成です (私のホストは自動的に と を追加http{}
しますserver{}
):
charset utf-8;
types {
text/css css;
text/javascript js;
}
gzip on;
gzip_types text/html text/css text/javascript application/json image/svg+xml;
location / {
if (!-e $request_filename) {
rewrite . /index.php last;
break;
}
set $expire 0;
if ($upstream_http_content_type = image/jpeg) { set $expire 1; }
if ($upstream_http_content_type = image/png) { set $expire 1; }
if ($upstream_http_content_type = image/gif) { set $expire 1; }
if ($upstream_http_content_type = image/svg+xml) { set $expire 1; }
if ($upstream_http_content_type = text/css) { set $expire 1; }
if ($upstream_http_content_type = text/javascript) { set $expire 1; }
if ($expire = 1) {
expires max;
}
}
これは静的ファイル (.png
ファイルのように、適切なExpires
ヘッダーを取得する) では機能しますが、動的に生成されたコンテンツindex.php
(Expires
ヘッダーがまったくない) には影響しません。誰かが私が間違っていることを知っていますか?