nginxのののerror.logファイルを使用してみると、私たちは2つの不正確なパターンの一つとして今後の要求を確認することができます。Nginxは、URLに欠落した "/"または "/ bla /"を挿入できませんか?
- http://www.example.com/app-contextmoduleA/controller1 - >がhttp://www.example.com/app-context/moduleB/controller2
現在のNginxの設定は次のようになります:
server {
listen 8080;
location /app-context/ {
proxy_redirect off;
proxy_set_header Host $host;
proxy_pass http://localhost:8888/app-context/;
}
}
最初の間違ったURLの欠落/後のアプリケーションコンテキストを挿入するか、2番目の間違ったURLの/ moduleB /を挿入しないことが課題です。それはtry_filesがそれをサポートするようには見えないし、私は書き直しでそれを行う方法を見つけていない。
両方のユースケースのURLをNginxが書き換える方法はありますか?特に、モジュールやコントローラのすべての名前を事前に知る必要はありません。多くのものがありますので、書き換えルールの「ハードコーディング」は面倒です。
'^(/アプリ-コンテキスト)を書き換えます([^ /].+)$ $ 1/$ 2 last; ' – Deadooshka