web-dev-qa-db-ja.com

NginXでは、場所を意味します^〜

私が間違っていなければ、
location = / {}は、「/フォルダーのみで、内部のファイルではなく、サブフォルダーではない」という意味です。
location ~ / {}は、「/フォルダー、内部のすべてのファイル、すべてのサブフォルダーとそのサブファイル」を意味します
しかしそれが意味するもの:
location ^~ / {}
ウェブでこの設定を見つけましたが、回答をグーグルで検索することができませんでした。
フォルダとその中のすべてをhtpasswdで保護しようとしたときに、チュートリアルで見つけました。しかし、location ~ /は仕事をしましたが、location ^~ /がすべてを保護していても、phpページが正しく機能しませんでした。

1
Kunepro

nginx documentation からの引用:

最長一致プレフィックス位置に「^〜」修飾子がある場合、正規表現はチェックされません。

したがって、場所が/場所と一致する場合、正規表現を使用した場所は評価されません。 PHPスクリプトは通常、正規表現の場所ブロックを使用して定義されるため、これにより、説明した効果、つまりPHPスクリプトの動作が停止します。

1
Tero Kilkanen