【发布时间】:2019-04-02 18:30:48
【问题描述】:
我在处理图像时遇到了一点问题。我有一个前端服务器 (site.com) 和后端服务器 (api.site.com),它们都由 NFS 存储链接以用于图像。 原始图像存储在后台服务器中。 前端服务器只有 Nginx 和 NodeJs 后台只有 Nginx 和 PHP
当我要显示图片时:site.com/img/path-to-img-s250x250.jpg,它会在NFS中搜索,如果存在则显示,如果不存在,则获取原始图片,调整大小并通过以下方式保存在NFS中我们在 API 服务器中的 PHP 脚本。
你推荐给我的重写规则,只有在我想通过 API (api.site.com/img/path-to-img-s250x250.jpg) 显示图像时才有效,但我需要通过 Front (site.com/img/path-to-img-s250x250.jpg) 显示图像,你知道吗我怎样才能做到这一点?
# site.com/img/prods/10002/filename-w200h200-bgF00.12345.jpg
location ~ "^/img/(.*)/([a-z0-9-]+)-w([0-9]+)h([0-9]+)(-bg([0-9A-Fa-f]{3,6}))?\.[0-9]{5}\.(jpg|jpeg|png|gif|ico|webp)$" {
try_files $uri /img/$1/$2-w$3h$4$5.$7 @redirect;
}
location @redirect {
proxy_pass http://api.site.com;
proxy_set_header X-ORIGIN http://api.site.com;
proxy_set_header X-Requested-With XMLHttpRequest;
}
【问题讨论】:
标签: php nginx url-rewriting