nginx location
等號類型(=)的優先級最高,需要精確匹配。一旦匹配成功,則不再查找其他匹配項。
^~類型表達式。一旦匹配成功,則不再查找其他匹配項。
正則表達式類型(~ ~*)的優先級次之。如果有多個location的正則能匹配的話,則使用正則表達式最長的那個。
(location =) > (location 完整路徑) > (location ^~ 路徑) > (location ~,~* 正則順序) > (location 部分起始路徑) > (/)
nginx 配置 proxy_pass 路徑帶 / 的問題
用戶訪問的 url 為 http://klvchen.com/abc/test.html
eg:
#情況1: proxy_pass 后帶 /
location /abc/ {
proxy_pass http://klvchen.com/;
}
#會被代理成 http://klvchen.com/test.html
#情況2: proxy_pass 后不帶 /
location /abc/ {
proxy_pass http://klvchen.com;
}
#會被代理成 http://klvchen.com/abc/test.html
常用正則
.: 匹配除換行符以外的任意字符
?: 重復0次或1次
+: 重復1次或更多次
*: 重復0次或更多次
\d:匹配數字
^: 匹配字符串的開始
$: 匹配字符串的結束
{n}: 重復n次
{n,}: 重復n次或更多次
[c]: 匹配單個字符c
[a-z]: 匹配a-z小寫字母的任意一個
小括號()之間匹配的內容,可以在后面通過$1來引用,$2表示的是前面第二個()里的內容。正則里面容易讓人困惑的是\轉義特殊字符。
總結
以上所述是小編給大家介紹的nginx 匹配規則小總結,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!