(私の悪い英語でごめんなさい)
次のような URL があります。
http://www.domain.com/resize.php?pic=images/elements/imagename.jpg&type=300crop
その php は、そのイメージが存在するかどうかを確認して提供し、存在しない場合は、type パラメータで指定されたサイズでディスク上にイメージを作成し、それを返します。
私が望んでいたのは、nginx を使用して、イメージがそのサイズでディスク上に存在するかどうかを確認することでした。そのため、イメージを作成するために必要な場合にのみ resize.php を実行します。
私はこれを試しましたが、場所ディレクティブが正規表現を使用したクエリパラメーター ($args) で動作しないと思います。その後、サンプル URL と loncation が一致しません:(
助けてください?
パラメータ ($args) を書き直して、try_files ディレクティブで使用する必要があります...これは可能ですか?
location ~ "^/resize\.php\?pic=images/(elements|gallery)/(.*)\.jpg&type=([0-9]{1,3}[a-z]{0,4})$)" {
try_files /images/$1/$2.jpg /imagenes/elements/thumbs/$3_$2.jpg @phpresize;
}
location @phpresize {
try_files $uri =404;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering on;
proxy_pass http://www.localhost.com:8080;
}