部分內(nèi)容摘抄自 Nginx官網(wǎng)
Syntax:
location [ = | ~ | ~* | ^~ ] uri { ... }
location@name { ... }
Default:—
Context:server, location
-
location正則表達(dá)式書(shū)寫(xiě)示例:
1. 等號(hào)(=)
表示完全匹配規(guī)則才執(zhí)行操作
location = /index {
[ configuration A ]
}
URL為 http://{domain_name}/index 時(shí),才會(huì)執(zhí)行配置中操作。
2. 波浪號(hào)(~)
表示執(zhí)行正則匹配,但區(qū)分大小寫(xiě)
location ~ /page/\d{1,2} {
[ configuration B ]
}
URL 為 http://{domain_name}/page/1 匹配結(jié)尾數(shù)字為1-99時(shí),配置生效。
3.波浪號(hào)與星號(hào)(~*)
表示執(zhí)行正則匹配,但不 區(qū)分大小寫(xiě)
location ~* /\.(jpg|jpeg|gif) {
[ configuration C ]
}
匹配所有url以jpg、jpeg、gif結(jié)尾時(shí),配置生效。
4.脫字符與波浪號(hào)(^~)
表示普通字符匹配,前綴匹配有效,配置生效
location ^~ /images/ {
[ cofigurations D ]
}
URL 為 http://{domain_name}/images/1.gif 時(shí),配置生效。
5.@
定義一個(gè)location,用于處理內(nèi)部重定向
location @error {
proxy_pass http://error;
}
error_page 404 @error;
各字符有效優(yōu)先級(jí)
= > ^~ > ~/~*
當(dāng)(~/~*)中有多個(gè)正則匹配時(shí),選擇正則表達(dá)式最長(zhǎng)的配置執(zhí)行。