nginx的rewrite功能配置指令

2021-08-07 16:59:17 字數 1791 閱讀 2067

實現url的重寫

使用ngx_http_rewrite_module模組處理和解析rewrite功能的相關配置

規則核心pcre

語法結構:

if(condition)
支援以下幾種語法:

if($var)
if($request_method=post)
if($http_user_agent ~ msie)
用於中斷當前作用域中的其他nginx配置,可以在server塊、location塊和if塊中使用

return指令

用於完成對請求的處理,直接向客戶端返回響應狀態碼

return [ text ]

return code url;

return url;

通過正規表示式的使用改變uri

語法結構

rewrite

regex

replacement

[flag]

location /
如果uri在第二行被匹配成功,不會使用第三行的配置重新匹配和處理新的uri,而是禳所有的lication塊重新匹配和處理新的uri

配置是否開啟url重寫日誌的輸出功能

rewrite_log on|off

set

variable

value

變數

說明$args

如中的」arg1=value1」

$content_length

存放請求頭的content-length欄位

$content_type

存放請求頭的content-type欄位

$document_root

針對當前請求的根路徑

$document_uri

如中的」/server/source」

$host

請求url的主機部分字段

存放客戶端的**資訊

客戶端的cookie資訊

$limit_rate

nginx伺服器對網路連線速率的限制

$remote_addr

客戶端的位址

$remote_port

客戶端與伺服器建立連線的埠號

$remote_user

客戶端的使用者名稱

$request_body_file

發給後端伺服器的本地檔案資源的名稱

$request_method

客戶端的請求方式

$request_filename

當前請求的資源檔案的路徑名

$request_uri

當前請求的uri

$query_string

同$args

$scheme

請求使用的協議,如http、https、ftp等

$server_protocol

客戶端請求協議的版本

$server_addr

伺服器的位址

$server_name

客戶端請求到達的伺服器的名稱

$server_port

客戶端請求到達的伺服器的埠號

$uri

同$document_uri

Nginx伺服器的Rewrite功能(一)

rewrite功能是大多數web伺服器都支援的功能,其在提供重定向服務時起到主要作用。伺服器組的設定後端伺服器的主要指令是在標準http模組ngx http upstream module進行解析和處理的。upstream namename是給後端伺服器組起的組名,花括號中列出後端伺服器組中包含的伺...

Nginx的Rewrite的配置

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

Nginx基礎的Rewrite規則

rewrite是nginx乙個特別重要的指令,該指令可以使用正規表示式改寫uri。可以指定乙個或多個rewrite指令,按順序匹配 區分大小寫匹配 不區分大小寫匹配 和 區分大小寫不匹配及不區分大小寫不匹配 f和 f 判斷是否存在檔案 d和 d 判斷是否存在目錄 e和 e 判斷是否存在檔案或目錄 x...