Nginx

如何使用 HttpRewriteModule 在 Nginx 中快速輕鬆地刪除部分 URL?

  • November 3, 2021

我知道HttpRewriteModule,但我真的不知道如何處理正則表達式,我需要將某個目錄中的所有 URL 重定向到另一個,特別是:

從:example.com/component/tag/whatever

到:example.com/tag/whatever

有人可以告訴我如何在 Nginx 中執行此操作嗎?

你的意思是這樣的:

rewrite ^/component(.*)$ $1 last;

根據您定義rewrite指令的位置,您有兩種方法來實現它:

A. 在server上下文中

server {
   ...
   rewrite ^/component(.*)$ $1 last;
   ...
}

B. 在location上下文中

location /component {
   rewrite ^/component(.*)$ $1 break;
}

Teo,你為什麼把國旗last改成break? 因為,如果將此指令放在location上下文中,則last標誌將nginx執行 10 個週期並返回 500 錯誤。

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