您好,登錄后才能下訂單哦!
字符 | 說明 |
---|---|
^ | 匹配輸入字符串的起始位置 |
$ | 匹配輸入字符串的結束位置 |
* | 匹配前面的字符零次或多次 |
+ | 匹配前面的字符一次或多次 |
? | 匹配前面的字符零次或一次 |
. | 匹配除\n之外的任何單個字符,使用諸如"[.\n]"之類的模式,可匹配包括"\n"在內的任意字符 |
\d | 匹配純數字 [0-9] |
{n} | 重復多次 |
{n,} | 重復n次或更多次 |
[c] | 匹配單個字符c |
[a-z] | 匹配a-z小寫字母的任意一個 |
[a-zA-Z] | ] 匹配a-z小寫字母或A-Z大寫字母的任意一個 |
rewrite <regex> <replacement> [flag];
正則 跳轉后的內容 rewrite支持的flag標記
標記 | 說明 |
---|---|
last | 相當于Apache的[L]標記,表示完成rewrite |
break | 本條規則匹配完成即終止,不再匹配后面的任何規則 |
redirect | 返回302臨時重定向,瀏覽器地址會顯示跳轉后的URL地址,爬蟲不會更新url |
permanent | 返回301永久重定向,瀏覽器地址欄會顯示跳轉后的URL地址,爬蟲更新url |
last | break | |
---|---|---|
使用場景 | 一般寫在server和if中 | 一般使用在location中 |
URL匹配 | 不終止重寫后的url匹配 | 終止重寫后的url匹配 |
location = patt {} [精準匹配]
location patt {} [一般匹配]
location ~ patt {} [正則匹配]
標記 | 說明 |
---|---|
~ | 執行一個正則匹配,區分大小寫 |
~* | 執行一個正則匹配,不區分大小寫 |
!~ | 執行一個正則匹配,區分大小寫不匹配 |
!~* | 執行一個正則匹配,不區分大小寫不匹配 |
^~ | 普通字符匹配;使用前綴匹配。如果匹配成功,則不再匹配其他location |
= | 普通字符精準匹配。也就是完全匹配 |
@ | 定義一個命名的location,使用在內部定向時 |
相同類型的表達式,字符創長的會優先匹配
按優先級排列
相同點
都能實現跳轉
不同點
##精確匹配/,主機名后面不能帶任何字符串
location = / {
[ configuration A ]
}
##所有的地址都以/開頭,這條規則將匹配到所有請求,但正則和最長字符串會優先匹配
location / {
[ configuration B ]
}
##匹配任何以/documents/開頭的地址,當后面正則表達式沒有匹配到時,才起作用
location /documents/ {
[ configuration C ]
}
##匹配任何以/documents/abc開頭的地址,當后面正則表達式沒有匹配到時,才會起作用
location ~ /documents/abc {
[ configuration D ]
}
##以/images/開頭的地址,匹配符合后,停止往下匹配
location ^~ /images/ {
[ configuration E ]
}
##匹配所有以gif結尾的請求,/images/下的圖片會被[configuration E]處理,因為^~的優先級更高
location ~* \.(gif|jpg|jpeg)$ {
[ configuration F ]
}
##最長字符匹配到/images/abc,優先級最低
location /images/abc {
[ configuration G ]
}
##以/images/abc開頭的,優先級次之
location ~ /images/abc {
[ configuration H ]
}
##如果和正則~/images/abc/1.html相比,正則優先級更高
location /images/abc/1.html {
[ configuration I ]
}
匹配某個具體文件
(location =完整路徑) > (location ^~完整路徑) > (location ~*完整
路徑) > (location ~完整路徑) > (location 完整路徑) > (location /)
用目錄做匹配訪問某個文件
(location=目錄) > (location ^~目錄/) > (location~目錄)>
(location ~*目錄) > (location 目錄) > (location /)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。