url重寫 ----- rewrite
if指令
if (condition) 代表條件為真時的nginx操作
condition條件的寫法:
1) 變數名
如果變數的值為空,或者為以"0"開頭的任意字串,條件為假,其他則為真
if ($slow)
2) 使用"="或者"!="比較變數的值
if ($request_method = post)
3) 使用正規表示式與變數的值進行匹配
變數名與正規表示式間使用~, ~*, !~, !~*進行連線
在正規表示式中使用()可以對字元進行分組,在{}中可以用$1....$9引用分組
正規表示式寫時不需要加雙引號,但是如果正規表示式中含有}和;字元,則必須要使用雙引號
4) 判斷請求的檔案是否存在(-f,!-f)
5) 判斷請求的目錄是否存在 (-d, !-d)
6) 判斷請求的目錄或檔案是否存在 (-e, !-e)
7) 判斷請求的檔案是否可執行 (-x, !-x)
nginx變數
1) $args
存放url中的請求指令
存放請求報文中content_length欄位內容
3) $content_type
存放請求報文中content_type欄位內容
4) $document_root
存放針對當前請求的根路徑
5) $document_uri
存放請求報文中的當前uri,並且不包括請求指令
/reg/person
6) $host
存放請求報文中的主機部分
存放客戶端**資訊(瀏覽器)
存放客戶端的cookie資訊
9) $limit_rate
存放nginx伺服器對網路連線速率的限制,也就是ngnix配置檔案中limit_rate指令的值
10) $remote_addr
存放客戶端位址
11) $remote_port
存放客戶端埠
12) $remote_user
存放客戶端的使用者名稱
13) $request_body_file
存放發給後端伺服器的本地檔案資源名稱
14) $request_method
存放客戶端請求資源的方法, get, post, put, delete, head
15) $request_filename
存放當前請求的資源檔案的路徑名
16) $request_uri
存放當前請求的uri,並且帶有請求指令
與變數$args含義相同
18) $scheme
存放客戶端請求使用的協議,如果http, https
19) $server_protocol
存放客戶端請求協議的版本 http/1.0 http/1.1
20) $server_addr
存放伺服器位址
21) $server_name
存放了客戶端請求到達的伺服器的名稱
22) $server_port
存放了客戶端請求到達的伺服器的埠號
23) $uri
與變數$document_uri含義相同
nginx URL重寫rewrite規則
語法 rewrite regex replacement flag 如 此處的 1用於引用 jpg 匹配到的內容,又如 rewrite bbs redirect 如上例所示,replacement可以是某個路徑,也可以是某個url 常見的flag flag 作用last 基本上都用這個flag,表示...
Nginx URL重寫規則配置詳解
rewrite模組介紹 nginx的重寫模組是乙個簡單的正規表示式匹配與乙個虛擬堆疊機結合。依賴於pcre庫,因此需要安裝pcre。根據相關變數重定向和選擇不同的配置,從乙個location跳轉到另乙個location,不過這樣的迴圈最多可以執行10次,超過後nginx將返回500錯誤。同時,重寫模...
很不錯的NGINX URL重寫例項
本文介紹nginx url重寫的相關知識,包括301重定向的內容等,希望對大家有所幫助。nginx rewrite 實現二級網域名稱跳轉 當訪問跳轉到 方法一 這種方法瀏覽器位址會變www.jbxue.com test abc 實現訪問如下 複製 如下 server server 方法二 當訪問跳轉...