2016-03-25 1 views
1

既存の仮想ホストまたは新しい仮想ホストが同じように設定されるように、サーバーワイドの有効期限ヘッダーを設定する方法を探しています。残念ながら、私は各仮想ホストのconfファイルでこれを行うことはできないので、次のディレクティブをサーバ全体に広げる方法を探しています。NGINX - すべての仮想ホストに対して期限切れヘッダーを設定するにはどうすればよいですか?

location ~* .(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg 
       |jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid 
       |midi|wav|bmp|rtf)$ { 
    expires max; 
    log_not_found off; 
    access_log off; 
} 

答えて

2

expires指令はhttpブロックに配置することができ、したがって、すべてのサーバー・ブロックとその位置のブロックによって継承されます。

map変数を持つexpires指示文の使用例をマニュアルに示します。 this documentを参照してください。 httpブロックの内部が、どのserverブロックの外側に配置され

map $request_uri $expires { 
    default off; 
    ~*\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)(\?|$) max; 
}  
expires $expires; 

両方のディレクティブ:

あなたは、既存の正規表現にマッチして同じ動作を実現するために$request_uriではなく$sent_http_content_typeを使用することができます。

詳細はthis documentを参照してください。

+0

ありがとうございます!それはうまくいった。余分な括弧 '... | rtf))(\?| $)max;は' ... | rtfでなければなりません(\?| $)max; ' –

関連する問題