以下は私のためにCSSとJSをキャッシュするために働いています:
location ~ "^(.*)\.(min.)?(css|js)$" {
expires max;
}
結果:
$ curl -I http://mysite.com/test.css
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 16 Jan 2014 18:55:28 GMT
Content-Type: text/css
Content-Length: 19578
Last-Modified: Mon, 13 Jan 2014 18:54:53 GMT
Connection: keep-alive
Expires: Thu, 31 Dec 2037 23:55:55 GMT
Cache-Control: max-age=315360000
X-Backend: stage01
Accept-Ranges: bytes
10桁のUNIXタイムスタンプを使用してjs/cssのバージョン設定を取得しようとしていますが、次の有効な正規表現との正規表現一致の取得に問題があります。
location ~ "^(.*)([\d]{10})\.(min\.)?(css|js)$" {
expires max;
}
結果:
$ curl -I http://mysite.com/test_1234567890.css
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 16 Jan 2014 19:05:03 GMT
Content-Type: text/css
Content-Length: 19578
Last-Modified: Mon, 13 Jan 2014 18:54:53 GMT
Connection: keep-alive
X-Backend: stage01
Accept-Ranges: bytes
私はブラケットを\ dの周りに置かずにそれを試してみます、ブラケットは通常、連続した文字または数字のいずれかに使用され、ブラケットは文字「\」または「d」のいずれかに一致すると言います
"^(.*)(\d{10})\.(min\.)?(css|js)$"
また、括弧内にキャプチャしているグループ情報を具体的に保存していますか?
以下のコメントを明確にするために。
簡単に始めましょう。
"^.*[0-9]*\.css$"
"^.*[:digit:]*\.css$"
"^.*\d*\.css$"
どの作品に応じて、そのベースを数字に使用し、以下のように展開します。
"^.*\d{10}\.(min\.)?(css|js)$"
Http/httpsも一致している場合は、以下のhttp/sで開始できます。数字表記が機能するように変更してください。
"^http(s)?://.*[0-9]{10}\.(min\.)?(css|js)$"