nginxは指定された場所以外のすべての場所をキャッチします


19

サーバーにいくつかの場所があります。ユーザーがブラウザ経由で提供する他のすべての場所をキャッチしたい。その方法は?例えば

 server {
     ...
     location /location1 {
              do something;
     }
     location /location2 {
              do something;
     }
     location /all_other_locations {
            return 301 http://www.google.de
     }

回答:


31

nginxの場所はプレフィックスベース(正規表現を除く)であるため、location /より具体的なものが一致しない限り、すべての要求に一致します。

server {
    location / {
        # catch all unless more specific location match
    }

    location /location1 {
        # do something
    }

    location /location2 {
        # do domething
    }
}

1
/特定の何かに一致させたい場合、他のすべてが他の何かに捕らえられたらどうでしょうか?ワイルドカードマッチングを使用しますか?
ティムティスダル

3
ああ..を使用することかもしれませんlocation = /。明示的な/要求はそれと一致し、他のlocation /何かが一致しない限り、他のすべてが送信されます。
ティムティスドール
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.