nginx:正規表示式符合不相等?

nginx:正規表示式符合不相等?

nginx 符合是否有等效的「not」?我在想

location !~ "\.(html|php)$" {
    deny all;
}

只允許提供 html 和 php 檔案。另一種方法是“拒絕所有”,後面跟著“〜”和“允許所有”。唉,這似乎以某種方式乾擾了我的 nginx 檔案中的一些早期位置魔法。

答案1

您可以使用這樣的巢狀位置邏輯:

location / {
  deny all;
  location ~* "\.(html|php)$" {
    Allow all;
  }
}

答案2

正規表示式位置也按順序相符。所以你也可以使用這樣的東西:

location ~* "\.(html|php)$" { ...; break; } location ~* "." { deny all; }

請注意,第二個位置也必須基於正規表示式。

相關內容