私が間違っていなければ、location = / {}
は、「/フォルダーのみで、内部のファイルではなく、サブフォルダーではない」という意味です。location ~ / {}
は、「/フォルダー、内部のすべてのファイル、すべてのサブフォルダーとそのサブファイル」を意味します
しかしそれが意味するもの:location ^~ / {}
?
ウェブでこの設定を見つけましたが、回答をグーグルで検索することができませんでした。
フォルダとその中のすべてをhtpasswdで保護しようとしたときに、チュートリアルで見つけました。しかし、location ~ /
は仕事をしましたが、location ^~ /
がすべてを保護していても、phpページが正しく機能しませんでした。
nginx documentation からの引用:
最長一致プレフィックス位置に「^〜」修飾子がある場合、正規表現はチェックされません。
したがって、場所が/場所と一致する場合、正規表現を使用した場所は評価されません。 PHPスクリプトは通常、正規表現の場所ブロックを使用して定義されるため、これにより、説明した効果、つまりPHPスクリプトの動作が停止します。