location
リストされた場所と等しくないものに応答するNginxで条件 を設定するにはどうすればよいですか?
私は試した:
location !~/(dir1|file2\.php) {
rewrite ^/(.*) http://example.com/$1 permanent;
}
ただし、リダイレクトはトリガーされません。サーバー構成の残りのルールを使用して、要求された URI を処理するだけです。
私は同じものを探していました。そしてこの解決策を見つけました。
負の正規表現アサーションを使用します。
location ~ ^/(?!(favicon\.ico|resources|robots\.txt)) {
.... # your stuff
}
場所のソース 否定正規表現
正規表現の説明:
URL が次のパスのいずれとも一致しない場合
example.com/favicon.ico
example.com/resources
example.com/robots.txt
次に、そのロケーション ブロック内に入り、それを処理します。