2017-10-20 2 views
0

パターンが一致すると変数を返すNgnix書き換えルールを作成しようとしています。"/"がURLの末尾にある場合、Nginx書き換えルールは変数を渡さない

リクエストURL:contoso.com/web/en-us/notifications/

nginxの書き換えルールrewrite ^/web/(.*)/notifications/$ /web/?action=notifications&language=$1;

ので、通知/の末尾に追加/で、変数$ _GETの[ 'アクション']は空です。しかし、私は$ _GET ['language'] = en-us/notificationsで両方の値を取得します。

通知の最後から/を削除すると正しい値が得られます。両方の変数で。

/が最後にあってもこの作業を行うにはどうすればよいですか?

+0

'^/web /(.*)/notes/?$ $'を使用している場合は? –

+0

最後に疑問符を付けると同じ問題が発生します。 – sam

+0

あなたの設定ファイルにURIと最初にマッチした別の 'rewrite'ルールがありますか? –

答えて

0

私はこれを理解しました。私が最初にキャッチしていなかったのは、問題を引き起こしていたホームページの設定だったというルールが一番上にありました。

rewrite ^/web/(.*)/$ /web/?language=$1 last; 

これを他のすべての書き換えルールの下に移動しました。問題を修正しました。

関連する問題