(对不起,我的英语不好)
我有一个这样的网址:
http://www.domain.com/resize.php?pic=images/elements/imagename.jpg&type=300crop
该 php 检查该图像是否存在并提供服务,如果不存在,则使用 type 参数中指定的大小在磁盘上创建图像并返回它。
我想要的是使用 nginx 检查磁盘上是否存在该大小的图像,因此仅在需要时运行 resize.php 来创建图像。
我试过这个,但我认为 location 指令不使用正则表达式对查询参数($args)进行操作,然后 loncation 与示例 URL 不匹配:(
请问有什么帮助吗?
我需要重写参数($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;
}