正規表現で使用すると、Nginx は常に URL のエンコードを解除するようです。書き換えルールがあります:
location /api/ {
rewrite /api/(.*)$ $1 break;
proxy_pass http://127.0.0.1:8000/$1;
}
usl から API を削除したいのですが、残りのパスはそのままにしておきます。パスの一部は、電子メール アドレス someone@somewhere.com です。someone%40somewhere.com を渡していますが、Nginx は @ 記号でそれを返しています。