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

