Nginxの場所~/\.ht

Nginxの場所~/\.ht

locationNginxの次のブロックの意味は何ですか?

location ~ /\.ht {
    deny all;
}

私は小さなWordPressサイトを持っていて、構成からこのブロックを削除してサーバーを再起動しましたが、サイトがまだ正常に動作しているようです。

答え1

location ~ /\.ht {
    deny all;
}

このディレクティブは、Webサーバーに、.htルートディレクトリ()で始まる/すべてのファイルに対してすべての着信要求を拒否するように指示します。

チルダは~nginxに正規表現を使用するように指示します。

したがって、等の.htaccessファイルは提供されません。.htpasswd

注:点の前のバックスラッシュ()は、点\(点の前の、などhtaccess)をエスケープするためのものですhtpassword

答え2

あなたのウェブサイトがexample.comであるとしましょう。特定の場所はですexample.com/.ht。したがって、このdeny allディレクティブはすべての要求を拒否しますexample.com/.ht*。 (*は後続の文字列を表します)

~nginx正規表現ベースの一致を実行しようとしていると言います。/あなたのウェブサイトのルートディレクトリです。\エスケープ文字です。.正規表現の一部ではない文字通り解釈されるという意味です。

関連情報