Nginx的Rewrite配置範例

2022-03-08 01:13:24 字數 934 閱讀 3737

nginx以其良好的併發效能,目前正在逐漸取代apache成為大家的web server首選,但是nginx目前的中文資料很少,需要大家努力貢獻。

下面我介紹一下nginx的rewrite模組設定及wordpress和discuz的示例。nginx的rewrite規則比apache的簡單靈活多了,從下面介紹可見一斑。

首先,nginx可以用if進行條件匹配,語法規則類似c,舉例如下:

)1、正規表示式匹配,其中:

2、檔案及目錄匹配,其中:

如:

if

(!-f $request_filename

)

其次,nginx的rewrite規則與apache幾乎完全一致,所不同的是最後的flag標記,舉例如下:

rewrite ^/feed/$ last;

flag標記有:

記住下面幾個nginx的flags:

last - 基本上都用這個flag。

break - 中止rewirte,不在繼續匹配

redirect - 返回臨時重定向的http狀態302

permanent - 返回永久重定向的http狀態301

另外,有個東西很關鍵,曾經折騰我好幾個小時才搞定,就是nginx裡面配置 這樣的正則規則的時候,條件必須加上雙引號,否則總是報錯無法通過,官方文件裡面真是很難找到這些東西,很暈。

wordpress的重定向規則:

if

(!-e $request_filename

)

discuz!的重定向規則:

if

(!-f $request_filename

)

Nginx的Rewrite的配置

nginx的rewrite 經過網上查閱和測試,發現nginx的rewrite規則和apache的rewite規則差別不是很大,幾乎可以直接使用。比如在apache中這樣寫規則 1rewrite 0 9 html viewthread.php?tid 1 last 而在nginx中寫成這樣寫是無法啟...

nginx的rewrite功能配置指令

實現url的重寫 使用ngx http rewrite module模組處理和解析rewrite功能的相關配置 規則核心pcre 語法結構 if condition 支援以下幾種語法 if var if request method post if http user agent msie 用於中斷...

Nginx的rewrite模組配置 網域名稱自動跳轉

location概述 常用的正規表示式元字元 字元說明 匹配輸入字串的起始位置 匹配輸入字串的結束位置 匹配前面的字元零次或多次 匹配前面的字元一次或多次 匹配前面的字元零次或一次 匹配除 in 之外的任何單個字元 將後面接著的字元標記為乙個特殊字元或乙個原義字元或乙個向後引用 d匹配純數字 重複n...