天天看點

Nginx 使特殊用法 | 學習筆記Nginx 特殊用法

開發者學堂課程【HTTP 代理系統第四課時:Nginx 使特殊用法】學習筆記,與課程緊密聯系,讓使用者快速學習知識。

課程位址:

https://developer.aliyun.com/learning/course/803/detail/13875

Nginx 特殊用法

目錄

1. Rewrite 規則

2. Nginx 的特殊用法

1.  Rewrite規則

1.1  Rewrite 與Redirect 的差別

Rewrite 是為了讓URL 更加标準化、一緻化。Redirect 是為了讓通路從一個位址跳轉到另外一個位址。

Rewrite 不會修改位址欄顯示的URL;Redirect 會修改URL。

Redirect 會産生兩次HTTP 請求;Rewrite 隻産生一次HTTP 請求。

1.2  Nginx 和Rewrite 功能

Nginx 通過内置的ngx-http-rewrite-module 預設支援了Rewrite

Nginx 的幾個核心指令:if  break  rewrite

| If 指令

Nginx 使特殊用法 | 學習筆記Nginx 特殊用法

 | Break 指令

Nginx 使特殊用法 | 學習筆記Nginx 特殊用法

| Return指令

Nginx 使特殊用法 | 學習筆記Nginx 特殊用法

| Rewrite 指令

  • rewrite 指令可以完成請求的重寫
  • regex 是用于比對的正規表達式
  • replacement 是後續用于替換的位址
  • flag 可以控制rewrite 規則,常用的flag 包括

1.last 終止繼續在本location 塊中處理接收到的URI,并将此處重寫的URi作為一個新的

2.URI,使用各location 塊進行處理

3.break 将此處重寫的URI 作為一個新的UR,在本塊中繼續進行處理。

4.redirect:将重寫後的URI傳回給用戶端,狀态代碼為302,指明是臨時重定向URI opermanent:将重寫後的URI傳回給用戶端,狀态代碼為301,指明是永久重定向URI

舉例:rewrite 規則-phpBB

Nginx 使特殊用法 | 學習筆記Nginx 特殊用法

舉例:rewrite 規則discuz

Nginx 使特殊用法 | 學習筆記Nginx 特殊用法

2.Nginx 特殊用法

| Nginx 日志格式

Nginx 使特殊用法 | 學習筆記Nginx 特殊用法

繼續閱讀