この質問が何度か尋ねられた場合は、私はnginxを適切に書き直すことはできません。私はURLの最後の部分を削除する必要があります。たとえば、これはURL私が持っている:nginx URLを書き換えて最後の部分を削除
https:/mydomain.com/this/is/some/url/page/0
https:/mydomain.com/this/is/some/url/page/1
が、私はこれにこれらの両方を書き換える必要があります。
https:/mydomain.com/this/is/some/url
これは私がこれまでにしようとしているものです:
location/{
...
rewrite ^/(.*)/page/0|1$ $1 last;
...
}
しかし、それは動作しません。それは正しいと私には思われますか?それは何が間違っていますか? (私は正規表現が嫌い)。
EDIT:
location/{
# Remove trailing double slashes.
if ($request_uri ~ "^[^?]*?//") {
rewrite "^" $scheme://$host$uri permanent;
}
# Remove trailing slashes.
rewrite ^/(.*)/$ /$1 permanent;
# Rewrite page/0 and page/1 from url.
rewrite ^/(.*)/page/[01]$ /$1 last;
proxy_pass http://backend_web;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
'rewrite ... last'は、プロキシを通過したURIを' backend_web'に変更します。ブラウザのアドレスバーに表示されるURIを変更するには、代わりに 'rewrite ... redirect'を使用する必要があります。 –