web-dev-qa-db-ja.com

nginxの場所から変数を取得するにはどうすればよいですか?

Nginx confからの場所:

location ~/photos/resize/(\d+)/(\d+) {
    # Here var1=(\d+), var2=(\d+)
}

Nginxの場所から変数を取得するにはどうすればよいですか?

13
satels

正規表現は、それを持っている他のすべての場所とほとんど同じように機能します。

location ~/photos/resize/(\d+)/(\d+) {
  # use $1 for the first \d+ and $2 for the second, and so on.
}

Nginx wikiの例を見ると役立つかもしれません http://wiki.nginx.org/Configuration

17
Nexerus

前の回答に加えて、正規表現でキャプチャされたグループの名前を設定して、後で簡単に参照できるようにすることもできます。

location ~/photos/resize/(?<width>(\d+))/(?<height>(\d+)) {
  # so here you can use the $width and the $height variables
}

使用例については NGINX:$ remote_userが場所の最初の部分と等しいかどうかを確認する を参照してください。

12
dawez

あなたはこれを試すことができます:

location ~ ^/photos/resize/.+ {
    rewrite ^/photos/resize/(\d+)/(\d+) /my_resize_script.php?w=$1&h=$2 last;
}
2
bearcat