您好,登錄后才能下訂單哦!
這篇文章主要講解了“Nginx的location怎么使用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Nginx的location怎么使用”吧!
語法
Syntax: location [ = | ~ | ~* | ^~ ] uri { ... } location @name { ... }Default: —Context: server, location
語法 | 說明 |
location = /uri | =開頭表示精確匹配,只有完全匹配上才能生效。 |
location ^~ /uri | ^~ 開頭對URL路徑進行前綴匹配,并且在正則之前。 |
location ~ pattern | ~開頭表示區分大小寫的正則匹配。 |
location ~* pattern | ~*開頭表示不區分大小寫的正則匹配。 |
location /uri | 不帶任何修飾符,也表示前綴匹配,但是在正則匹配之后。 |
location / | 通用匹配,任何未匹配到其它location的請求都會匹配到,相當于switch中的default。 |
精確匹配的優先級最高。
如果沒有精確匹配,那么就會對配置文件中的所有非正則location
進行匹配,找到最長匹配。如果最長匹配是以^~
開頭,那么就返回該匹配結果。
對正則匹配逐個進行匹配,如果匹配成功,則返回正則location
,如果不成功,則返回第2
步匹配的最長匹配結果
nginx 配置 proxy_pass時可以實現URL路徑的部分替換。
1.proxy_pass的目標地址,默認不帶/,表示只代理域名,url和querystring部分不會變(把請求的path拼接到proxy_pass目標域名之后作為代理的URL)
2.如果在目標地址后增加/,則表示把path中location匹配成功的部分剪切掉之后再拼接到proxy_pass目標地址
例子:
server { location /abc { proxy_pass http://server_url; } location /abc { proxy_pass http://server_url/; } }
比如請求 /abc/b.html
如上兩個匹配成功后,實際代理的目標url分別是
http://server_url/abc/b.html (把/abc/b.html拼接到http://server_url之后)
http://server_url/b.html (把/abc/b.html的/abc去掉之后,拼接到http://server_url/之后)
感謝各位的閱讀,以上就是“Nginx的location怎么使用”的內容了,經過本文的學習后,相信大家對Nginx的location怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。