您好,登錄后才能下訂單哦!
這篇文章主要講解了Nginx正則表達(dá)式的使用方法,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。
前言
最近幫客戶配置服務(wù)器,經(jīng)常修改Nginx的配置文件,頻繁的用到正式匹配規(guī)則,這里整理了一些常用的正則參數(shù)及規(guī)則,以備查詢。
Nginx配置中Location的語(yǔ)法規(guī)則 location [ = | ~ | ~* | ^~ | !~ | !~* ] /uri/{ … }
匹配順序
多個(gè)location配置的情況下匹配順序?yàn)椋?/p>
首先匹配 =
其次匹配 ^~
其次是按文件中順序的正則匹配
最后是交給 / 通用匹配
當(dāng)有匹配成功時(shí)候,停止匹配,按當(dāng)前匹配規(guī)則處理請(qǐng)求。
. 匹配除換行符以外的任意字符
\w 匹配字母或數(shù)字或下劃線或漢字
\s 匹配任意的空白符
\d 匹配數(shù)字
\b 匹配單詞的開(kāi)始或結(jié)束
^ 匹配字符串的開(kāi)始
$ 匹配字符串的結(jié)束* 重復(fù)零次或更多次
+ 重復(fù)一次或更多次
? 重復(fù)零次或一次
{n} 重復(fù)n次
{n,} 重復(fù)n次或更多次
{n,m} 重復(fù)n到m次
*? 重復(fù)任意次,但盡可能少重復(fù)
+? 重復(fù)1次或更多次,但盡可能少重復(fù)
?? 重復(fù)0次或1次,但盡可能少重復(fù)
{n,m}? 重復(fù)n到m次,但盡可能少重復(fù)
{n,}? 重復(fù)n次以上,但盡可能少重復(fù)\W 匹配任意不是字母,數(shù)字,下劃線,漢字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非數(shù)字的字符
\B 匹配不是單詞開(kāi)頭或結(jié)束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou這幾個(gè)字母以外的任意字符
常用的規(guī)則
精確匹配
location = / { proxy_pass http://127.0.0.1:9090/ }
將所有請(qǐng)求直接轉(zhuǎn)發(fā)給服務(wù)器的9090端口。
處理靜態(tài)文件
#目錄匹配 location ^~ /static/ { root /webroot/static/; } #后綴匹配 location ~* \.(gif|jpg|jpeg|png|css|js|ico)$ { root /webroot/res/; }
轉(zhuǎn)發(fā)動(dòng)態(tài)請(qǐng)求到后端應(yīng)用服務(wù)器
#將/account/開(kāi)始的請(qǐng)求轉(zhuǎn)發(fā)給Account服務(wù)器 location /account/ { proxy_pass http://127.0.0.1:8080/ } #將/order/開(kāi)始的請(qǐng)求轉(zhuǎn)發(fā)給Order服務(wù)器 location /order/ { proxy_pass http://127.0.0.1:9090/ }
rewrite指令
看完上述內(nèi)容,是不是對(duì)Nginx正則表達(dá)式的使用方法有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。