
ブラウザで呼び出しを行うと、http://myhost/tiles/yellow/1/2/3.png、私はコンテンツを取得することを期待していますhttp://myhost/cache/yellow.png 私の設定は次のとおりです
location /cache/ {
alias /my/path/cache/;
}
location /tiles/ {
try_files $uri $uri/ @rulestiles;
}
location @rulestiles {
rewrite "^/tiles/([a-zA-Z1-9]*)/[0-9]{2}/[0-9]{6}/[0-9]{6}\.png$" /cache/$1\.png permanent;
}
何が足りないのでしょうか? すべてのパラメータが必要ではないため、どこでもキャプチャを使用しないからでしょうか?
また、数百個の実際のファイルに対して数億個のシンボリックリンクが必要になるため、シンボリックリンクは使用したくありません...
ご指導やご助言をいただければ幸いです
答え1
私の質問へのコメントのおかげで Alexey Ten
、さまざまな間違いを修正することができました。
まず、正規表現が間違っていたため、テスト時にパラメータをキャプチャしていませんでした
その後、URLを同じままにするためrewrite
にも変更しましたproxy_pass
location /cache/ {
alias /my/path/cache/;
}
location ~ "/tiles/(?<section>[a-zA-Z1-9]*)/[0-9]{1,2}/[0-9]{1,6}/[0-9]{1,6}.png$" {
proxy_pass http://my.tested.ip.code/cache/$section.png;
proxy_set_header Host $host;
}
my.tested.ip.code
サーバーのIPはどこですか。