Linux

Nginx 將一大組 URL 重寫為 444

  • October 16, 2014

我正在尋找一種重寫,它將獲取任意數量的已定義 URL 並在其中任何一個上執行返回 444。我不是單獨寫出每一個,而是希望我可以做一些事情,比如如果位置 =定義的文件或列表然後返回 444。

我為每個 URL 使用的範例,這很有效。我只想將 wp-login.php 替換為某種列表。

location = /wp-login.php {
   return 444;
}

編輯:我嘗試做類似下面的事情,但不幸的是沒有奏效

location = (/wp-login.php|/wp-admin.php) {
   return 444;
}

編輯2:

感謝 Xavier Lucas,這正是我所需要的。我使用了您提到的內容,然後添加了一些內容以添加更多不同格式的 URL。我們收到了大量奇怪 URL 的垃圾郵件,所以這很好用。

   location ~ ^(/wp-(admin|login)\.php|/url/path(.*)|/url2(.*)) {
           return 444;
   }

使用正則表達式的位置必須使用運算符~

location ~ ^/wp-(admin|login)\.php$ {
   return 444;
}

閱讀官方文件的這一部分以了解位置如何工作,並閱讀另一部分以了解處理順序是什麼。

引用自:https://serverfault.com/questions/637190