nginx rewrite參數(shù)解析
在nginx的配置中,是否對rewrite的配置模糊不清,還有令人迷惑的
$1、$2...參數(shù),(其實$1、$2參數(shù)在shell腳本中經(jīng)常用到,用來承接傳遞的參數(shù))。本篇從反向代理配置的角度幫助理解一下
1、先看一個nginx配置
rewrite ^/(user_\d)/(\d).html$ https://$host/?$1 permanent;
上面是我寫的重寫規(guī)則,先說$代表的是參數(shù),所以一定是 () 包含的
(): 用于匹配括號之間的內(nèi)容,通過$1、$2調(diào)用$1就是user_\d$2就是\d
舉個例子
https://www.example.com/user_1/2.html
這里$1 就是 user_1
$2就是2
這實際上就是正則在nginx里面的運用, 下面看一下 正則 的規(guī)則,會幫助你理解??
2、正則
2.1、replace
stringObject.replace(regexp/substr, replacement)
replacement 可以是字符串,也可以是函數(shù)。如果它是字符串,那么每個匹配都將由字符串替換。但是 replacement 中的 $ 字符具有特定的含義。如下表所示,它說明從模式匹配得到的字符串將用于替換。
| 字符 | 替換文本 |
|---|---|
| 1、1、2、...、$99 | 與 regexp 中的第 1 到第 99 個子表達(dá)式相匹配的文本。 |
| $& | 與 regexp 相匹配的子串。 |
| $` | 位于匹配子串左側(cè)的文本。 |
| $' | 位于匹配子串右側(cè)的文本。 |
| $$ | 直接量符號。 |
2.2、正則匹配重寫例子
- 參數(shù)匹配,互換位置
name = "Tom, Jerry"; name.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1"); 'Jerry Tom'
- 參數(shù)獲取
var str = '/pgk/api/pgk-abc' var reg = /^\/pgk(.*)$/ str.replace(reg, "$1") // '/api/pgk-abc' var str = '/pgk/api/pgk-abc/n/abc' var reg = /^\/pgk\/api\/pgk-abc\/(.*)$/ str.replace(reg, "$1") // 'n/abc'
3、生產(chǎn)配置示例
下面是工作中的實際配置, 重寫系統(tǒng)簡稱 ABC
location /ABC/api/pgk-abc/ {
rewrite ^/ABC/(.*)$ /$1 break;
proxy_pass http://ip:port;
# 這里重寫掉 ABC , $1 就是 api/pgk-abc/
# 實際請求地址是: http://ip:port/api/pgk-abc/
proxy_http_version 1.1;
}
本篇完, rewrite 相關(guān)的還有 break、last、permanent、redirect參數(shù),下期繼續(xù)分享。
到此這篇關(guān)于nginx rewrite參數(shù)解析的文章就介紹到這了,更多相關(guān)nginx rewrite參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx實現(xiàn)動態(tài)內(nèi)容緩存的示例代碼
在Nginx中實現(xiàn)動態(tài)內(nèi)容的緩存可以顯著提高性能,減少后端服務(wù)器的負(fù)載,本文就來介紹一下Nginx動態(tài)內(nèi)容緩存實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-11-11
使用LDAP實現(xiàn)Nginx用戶認(rèn)證的示例
本文主要使用Nginx和LDAP實現(xiàn)用戶認(rèn)證,通過配置Nginx和安裝nginx-auth-ldap模塊,可以實現(xiàn)基于LDAP的認(rèn)證邏輯,下面就來介紹一下,感興趣的可以了解一下2024-12-12
centos環(huán)境下nginx高可用集群的搭建指南
為了防止Nginx單點故障造成服務(wù)器癱瘓,本文介紹了Nginx實現(xiàn)高可用集群構(gòu)建,下面這篇文章主要給大家介紹了關(guān)于centos環(huán)境下nginx高可用集群的搭建指南,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
linux安裝nginx和前端部署vue項目全過程(實測react項目也可)
這篇文章主要介紹了如何將前端項目打包并部署到服務(wù)器上,包括使用nginx進(jìn)行配置和啟動等步驟,文中通過代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-11-11
Nginx隱藏式跳轉(zhuǎn)(瀏覽器URL跳轉(zhuǎn)后保持不變)
這篇文章主要介紹了Nginx隱藏式跳轉(zhuǎn)(瀏覽器URL跳轉(zhuǎn)后保持不變),需要的朋友可以參考下2022-04-04

