nginx位址重寫 10個代表性例項

2021-10-08 15:59:15 字數 1828 閱讀 5667

什麼是url重寫:

url重寫是指將乙個url請求重新寫成**可以處理的另乙個url的過程。

為什麼要重寫:

更加安全:url可能會暴露資源存放的具體位置,避免被不懷好意的人利用。

if , return ,rewrite ,setif

~匹配正則,區分大小寫

~*匹配正則,不區分大小寫

!~不匹配正則,區分大小寫

!~*不匹配正則,不區分大小寫

-f和!-f

是否存在檔案

-d和!-d

是否存在目錄

-e和!-e

是否存在檔案或目錄

-x和!-x

檔案是否可執行

rewrite:根據表示式重定性url,或修改字串。

flag:

last

表示完成rewrite,一般在if和server語句中,不終止重寫後的url

break

完成本條規則後不在匹配其他的,一般在location中

redirect ==302

返回帶有302**的臨時重定向,瀏覽器位址會顯示跳轉後的url位址。

permanent ==301

返回301**的永久重定向,瀏覽器位址列會顯示跳轉後的url位址。

redirect和permanent有一定區別,301會將老位址資料帶到新位址上,搜尋引擎會把老位址徹底廢除,302重定性時,搜尋引擎會檢視跳轉前後哪乙個位址更直觀而自己選擇是否跳轉,所以會出現網頁劫持現象。

set:定義乙個變數並且賦值。

1. 訪問 跳轉到

location /abc
訪問跳轉到

rewrite 語句中:利用正則匹配將2015開頭,任意結尾的字元,替換為/2020/+任意字元結尾,其中1=(

.∗

)1=(.*)

1=(.∗)

引用了前乙個正規表示式規則。

location /2015
訪問 跳轉到

location / 

}

訪問 跳轉到/ccc/1.html

location /

}

在訪問目錄後新增/ (如果目錄後已有/,則不加/)

location / 

}

說明:若訪問的是www.hahah.com/aaa/ccc 則,$request_filename為www.hahah.com,$1為/aaa/cc,$2為最後乙個c。

偽靜態頁面,訪問乙個靜態網頁,跳轉為乙個動態的。

例: 跳轉到

location /login 

#$1=feifei

#正則匹配login後的部分,進行替換

訪問跳轉到

location /uplook 

#充分利用正則匹配規則,替換時呼叫前邊的規則。

#$1=11,$2=22,$3=33

訪問 跳轉到

location / if(

$host ~* "^(.*)\.feifei\.com$"

)}

埠跳**80–>443

server 

server

如果訪問的資源不存在,則跳轉到錯誤頁面。

location / 

}

nginx位址重寫

修改配置檔案 訪問192.168.4.5 下面子頁面,重定向至www.tmooc.cn 下相同的頁面 root proxy vim usr local nginx conf nginx.conf 45 location wq編寫測試網頁 root proxy echo bb usr local ng...

Nginx的位址重寫

位址重寫就是獲得乙個來訪的url請求,然後改寫成伺服器可以處理的另乙個url的過程 1 縮短url,隱藏實際路徑提高安全性 2 易於使用者記憶和鍵入 3 易與被搜尋引擎收錄 主要用到的配置引數是rewrite rewrite regex replacement flag rewrite 舊位址 新位...

nginx位址重寫技術

什麼是位址重寫 獲得乙個來訪的url請求,然後改寫成伺服器可以處理的另乙個url的過程 位址重寫的好處 縮短url,隱藏實際路徑提高安全性 易於使用者記憶和鍵入 易於被搜尋引擎收錄 rewrite語法 rewrite regex replacement flag if 條件 應用案例 1 訪問a.h...