web-dev-qa-db-ja.com

引数なしのNginxrequest_uri

末尾に引数を追加せずにrequest_uriの値を取得するにはどうすればよいですか。 uri変数があることは知っていますが、Nginxのドキュメントに記載されているように元の値が必要です。

request_uri

この変数は、引数を含むクライアントから受信したoriginalリクエストURIと同じです。変更することはできません。書き換え後/変更されたURIについては$ uriを見てください。ホスト名は含まれません。例: "/ foo/bar.php?arg = baz"

16
Kyle Decot

あなたは$ uriを探しています。 $ argsはありません。実際、$ request_uriは$ uri $ argsとほぼ同等です。

引数を取り除いた$ request_uriが本当に必要な場合は、これを行うことができます。

local uri = string.gsub(ngx.var.request_uri, "?.*", "")

Luaを利用できるようにする必要がありますが、それはまさにあなたが求めていることを実行します。

18
MTeck

私はこのマップを使用します。これはluaなしで機能します。

map $request_uri $request_uri_path {
  "~^(?P<path>[^?]*)(\?.*)?$"  $path;
}
13
Ryan Olson