1

我让 nginx 充当 apache 的反向代理。

我有一个资产目录,其中包含 nginx 提供的静态文件

location /assets {
  alias   /var/public/assets;
  expires     1h;
}

但是,从该目录提供的一些 jpeg 具有特定格式,即

/assets/test.jpg?p=2&project=wert

我希望这些 url 由 nginx 重写,以便它们由后端服务处理

我有以下 apache rewrite 可以满足我的要求

RewriteEngine On
RewriteCond %{QUERY_STRING} q=[0-9]{1,2}&project=(\w+)$
RewriteRule ^assets/(.*)\.(jpe?g)$ /process/assets/$1.$2 [L]

nginx 的等价物是什么,我应该把它放在上面的位置指令中还是其他地方?

谢谢

4

1 回答 1

1
if ($query_string ~ "q=[0-9]{1,2}&project=(\w+)$"){
    rewrite ^/assets/(.*)\.(jpe?g)$ /process/assets/$1.$2 break;
}
于 2012-05-22T12:21:58.063 回答