Rewrite跳轉場景

2021-10-02 03:02:34 字數 2898 閱讀 1641

url看起來更規範,合理

企業會將動態url位址偽裝成靜態位址提供服務

**換新網域名稱後,讓舊的訪問跳轉到新的網域名稱上

服務端某些業務調整

字元說明^

匹配輸入字串的起始位置

$匹配輸入字串的結束位置

*匹配前面的字元零次或多次

+匹配前面的字元一次或多次

?匹配前面的字元零次或一次

.匹配除\n之外的任何單個字元,使用諸如"[.\n]"之類的模式,可匹配包括"\n"在內的任意字元

\d匹配純數字 [0-9]

重複多次

重複n次或更多次

[c]匹配單個字元c

[a-z]

匹配a-z小寫字母的任意乙個

[a-za-z]

匹配a-z小寫字母或a-z大寫字母的任意乙個

語法:

rewrite [flag];

正則 跳轉後的內容 rewrite支援的flag標記

flag標記說明:標記

說明last

相當於apache的[l]標記,表示完成rewrite

break

本條規則匹配完成即終止,不再匹配後面的任何規則

redirect

返回302臨時重定向,瀏覽器位址會顯示跳轉後的url位址,爬蟲不會更新url

permanent

返回301永久重定向,瀏覽器位址列會顯示跳轉後的url位址,爬蟲更新url

last和break比較:

last

break

使用場景

一般寫在server和if中

一般使用在location中

url匹配

不終止重寫後的url匹配

終止重寫後的url匹配

分類:

location = patt {} [精準匹配]

location patt {} [一般匹配]

location ~ patt {} [正則匹配]

正則匹配的常用表示式:標記說明~

執行乙個正則匹配,區分大小寫

~*執行乙個正則匹配,不區分大小寫

!~執行乙個正則匹配,區分大小寫不匹配

!~*執行乙個正則匹配,不區分大小寫不匹配

^~普通字元匹配;使用字首匹配。如果匹配成功,則不再匹配其他location

=普通字元精準匹配。也就是完全匹配

@定義乙個命名的location,使用在內部定向時

**相同型別的表示式,字元創長的會優先匹配**

**按優先順序排列**

= 型別

^~ 型別表示式

正規表示式(~和~*)型別

常規字串匹配型別,按字首匹配

通常匹配(/),如果沒有其他匹配,任何請求都會匹配到

**相同點**

都能實現跳轉

**不同點**

rewrite是在同一網域名稱內更改獲取資源的路徑

location是對一類路徑做控制訪問或方向**,還可以proxy_pass到其他機器

**rewrite會寫在location裡執行順序**

執行server塊裡面的rewrite指令

執行location匹配

執行選定的location中的rewrite指令

##精確匹配/,主機名後面不能帶任何字串

location = /

##所有的位址都以/開頭,這條規則將匹配到所有請求,但正則和最長字串會優先匹配

location /

##匹配任何以/documents/開頭的位址,當後面正規表示式沒有匹配到時,才起作用

location /documents/

##匹配任何以/documents/abc開頭的位址,當後面正規表示式沒有匹配到時,才會起作用

location ~ /documents/abc

##以/images/開頭的位址,匹配符合後,停止往下匹配

location ^~ /images/

##匹配所有以gif結尾的請求,/images/下的會被[configuration e]處理,因為^~的優先順序更高

##最長字元匹配到/images/abc,優先順序最低

location /images/abc

##以/images/abc開頭的,優先順序次之

location ~ /images/abc

##如果和正則~/images/abc/1.html相比,正則優先順序更高

location /images/abc/1.html

匹配某個具體檔案:(location = 完整路徑)>(location ^~完整路徑)>(location ~完整路徑)>(location ~完整路徑)>(location 完整路徑)>(location /)

用目錄做匹配訪問某個檔案:

(location = 目錄)>(location ^~目錄/)>(location ~ 目錄)>(location ~ 目錄)>(location 目錄)>(location /)

Kinect跳轉場景

其實網上一查就能查到了,這裡只是給總結一下,親測有效 首先先說kinect自帶的跳轉場景的demo,你去看可能覺得很好啊,沒有問題,那是他沒有跳轉回到第乙個場景,我們在做遊戲的時候經常要回到主介面的,在kinect自帶demo中,如果你讓他回到第乙個場景,那麼你會發現kinectmanger還是會疊...

Nginx常用rewrite跳轉重定向例項

如果需要開啟帶有play的鏈結就跳轉到play,不過 admin play這個不能跳轉 if request filename play if request filename admin if payvar 1 if request uri gid 6 正規表示式匹配,其中 為區分大小寫匹配 為不...

rewrite場景例項(適用於開發)

需求 使用者訪問course 11 22 33.html實際上真實訪問是 course 11 22 33 course 33.html root web01 conf.d cat url.oldxu.com.conf server rewrite中的flag 跳轉 redirect 302 臨時跳轉...