nginx location 配置 正則表達(dá)式實(shí)例詳解
1.location 介紹
•location 是在 server 塊中配置,用來(lái)通過(guò)匹配接收的uri來(lái)實(shí)現(xiàn)分類(lèi)處理不同的請(qǐng)求,如反向代理,取靜態(tài)文件等
•location 在 server 塊中可以有多個(gè),且是有順序的,會(huì)被第一個(gè)匹配的 location 處理
•localtion 匹配功能只做匹配分發(fā)用,并不會(huì)改變uri的內(nèi)容或其他作用,我一開(kāi)始理解的時(shí)候就混淆了一些概念,建議多做測(cè)試看實(shí)際效果
2.localtion 匹配規(guī)則
•location [ = | ~ | ~* | ^~ ] uri { … }
•location @name { … }
注1:規(guī)則不能混合使用
注2:以下例子說(shuō)明都以該server為基礎(chǔ)
server { listen 8861; server_name abc.com; }
2.1 “=” 精確匹配
•內(nèi)容要同表達(dá)式完全一致才匹配成功
例:
location = / { ..... } # 只匹配http://abc.com # http://abc.com [匹配成功] # http://abc.com/index [匹配失敗]
2.2 “~”,大小寫(xiě)敏感
例·:
location ~ /Example/ { ..... } #http://abc.com/Example/ [匹配成功] #http://abc.com/example/ [匹配失敗]
2.3.“~*”,大小寫(xiě)忽略
例:
location ~* /Example/ { ..... } # 則會(huì)忽略 uri 部分的大小寫(xiě) #http://abc.com/test/Example/ [匹配成功] #http://abc.com/example/ [匹配成功]
2.4.“^~”,只匹配以 uri 開(kāi)頭
例:
location ^~ /index/ { ..... } #以 /img/ 開(kāi)頭的請(qǐng)求,都會(huì)匹配上 #http://abc.com/index/index.page [匹配成功] #http://abc.com/error/error.page [匹配失敗]
2.5.“@”,nginx內(nèi)部跳轉(zhuǎn)
例:
location /index/ { error_page 404 @index_error; } location @index_error { ..... } #以 /index/ 開(kāi)頭的請(qǐng)求,如果鏈接的狀態(tài)為 404。則會(huì)匹配到 @index_error 這條規(guī)則上。
2.6 不加任何規(guī)則
•不加任何規(guī)則則時(shí),默認(rèn)是大小寫(xiě)敏感,前綴匹配,相當(dāng)于加了“~”與“^~”
•只有 / 表示匹配所有uri
location /index/ { ...... } #http://abc.com/index [匹配成功] #http://abc.com/index/index.page [匹配成功] #http://abc.com/test/index [匹配失敗] #http://abc.com/Index [匹配失敗] # 匹配到所有uri location / { ...... }
總結(jié)
以上所述是小編給大家介紹的nginx location 配置 正則表達(dá)式,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
nginx 某些url只能由特定網(wǎng)段訪問(wèn)
在一些場(chǎng)景中,我們需要根據(jù)客戶(hù)端的IP地址或網(wǎng)段對(duì)訪問(wèn)進(jìn)行控制,在Nginx中針對(duì)某些URL只允許特定網(wǎng)段訪問(wèn),本文就來(lái)介紹一下如何實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09利用Nginx實(shí)現(xiàn)反向代理Node.js的方法詳解
這篇文章主要給大家介紹了關(guān)于利用Nginx實(shí)現(xiàn)反向代理Node.js的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08Nginx使用Lua模塊實(shí)現(xiàn)WAF的原理解析
waf是通過(guò)執(zhí)行一系列針對(duì)HTTP/HTTPS的安全策略來(lái)專(zhuān)門(mén)為Web應(yīng)用提供保護(hù)的一款產(chǎn)品,本文重點(diǎn)給大家介紹Nginx使用Lua模塊實(shí)現(xiàn)WAF的原理,需要的朋友參考下吧2021-09-09Nginx報(bào)錯(cuò)104:Connection?reset?by?peer問(wèn)題的解決及分析
最近恰好又遇到這了個(gè)錯(cuò)誤,為了加深記憶,所以記錄下我遇到這個(gè)錯(cuò)誤的主要原因,下面這篇文章主要給大家介紹了關(guān)于Nginx報(bào)錯(cuò)104:Connection?reset?by?peer問(wèn)題的解決及分析的相關(guān)資料,需要的朋友可以參考下2022-07-07