0

(私の悪い英語でごめんなさい)

次のような 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;
}
4

1 に答える 1