什麼是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...