日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Nginx實踐:location路徑匹配

1. 目標

nginx 反向代理,路徑映射的過程是什么?如何配置路徑映射規(guī)則?

兗州網(wǎng)站建設公司創(chuàng)新互聯(lián),兗州網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為兗州成百上千家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務好的兗州做網(wǎng)站的公司定做!

2、location 路徑匹配

2.1 匹配規(guī)則:

location 路徑正則匹配:

符號 說明
~正則匹配,區(qū)分大小寫
~*正則匹配,不區(qū)分大小寫
^~普通字符匹配,如果該選項匹配,則,只匹配改選項,不再向下匹配其他選項
=普通字符匹配,精確匹配
@定義一個命名的 location,用于內(nèi)部定向,例如 error_page,try_files

2.2 匹配優(yōu)先級:

路徑匹配,優(yōu)先級:(跟 location 的書寫順序關系不大)

  1. 精確匹配

    =前綴的指令嚴格匹配這個查詢。

    如果找到,停止搜索。

  2. 普通字符匹配

    所有剩下的常規(guī)字符串,最長的匹配。

    如果這個匹配使用^?前綴,搜索停止。

  3. 正則匹配

    正則表達式,在配置文件中定義的順序,匹配到一個結(jié)果,搜索停止;

  4. 默認匹配

    如果第3條規(guī)則產(chǎn)生匹配的話,結(jié)果被使用。

    否則,如同從第2條規(guī)則被使用。

2.3 舉例

通過一個實例,簡單說明一下匹配優(yōu)先級:

location??=?/?{
??#?精確匹配?/?,主機名后面不能帶任何字符串
??[?configuration?A?]
}

location??/?{
??#?因為所有的地址都以?/?開頭,所以這條規(guī)則將匹配到所有請求
??#?但是正則和最長字符串會優(yōu)先匹配
??[?configuration?B?]
}

location?/documents/?{
??#?匹配任何以?/documents/?開頭的地址,匹配符合以后,還要繼續(xù)往下搜索
??#?只有后面的正則表達式?jīng)]有匹配到時,這一條才會采用這一條
??[?configuration?C?]
}

location?~?/documents/Abc?{
??#?匹配任何以?/documents/?開頭的地址,匹配符合以后,還要繼續(xù)往下搜索
??#?只有后面的正則表達式?jīng)]有匹配到時,這一條才會采用這一條
??[?configuration?CC?]
}

location?^~?/images/?{
??#?匹配任何以?/images/?開頭的地址,匹配符合以后,停止往下搜索正則,采用這一條。
??[?configuration?D?]
}

location?~*?\.(gif|jpg|jpeg)$?{
??#?匹配所有以?gif,jpg或jpeg?結(jié)尾的請求
??#?然而,所有請求?/images/?下的圖片會被?config?D?處理,因為?^~?到達不了這一條正則
??[?configuration?E?]
}

location?/images/?{
??#?字符匹配到?/images/,繼續(xù)往下,會發(fā)現(xiàn)?^~?存在
??[?configuration?F?]
}

location?/images/abc?{
??#?最長字符匹配到?/images/abc,繼續(xù)往下,會發(fā)現(xiàn)?^~?存在
??#?F與G的放置順序是沒有關系的
??[?configuration?G?]
}

location?~?/images/abc/?{
??#?只有去掉 config D 才有效:先最長匹配 config G 開頭的地址,繼續(xù)往下搜索,匹配到這一條正則,采用
????[?configuration?H?]
}

location?~*?/js/.*/\.js

按照上面的location寫法,以下的匹配示例成立:

  1. /?-> config A:

    精確完全匹配,即使/index.html也匹配不了

  2. /downloads/download.html?-> config B:

    匹配B以后,往下沒有任何匹配,采用B

  3. /images/1.gif?-> configuration D:

    匹配到F,往下匹配到D,停止往下

  4. /images/abc/def?-> config D:

    最長匹配到G,往下匹配D,停止往下你可以看到 任何以/images/開頭的都會匹配到D并停止,F(xiàn)G寫在這里是沒有任何意義的,H是永遠輪不到的,這里只是為了說明匹配順序

  5. /documents/document.html?-> config C:

    匹配到C,往下沒有任何匹配,采用C

  6. /documents/1.jpg?-> configuration E:

    匹配到C,往下正則匹配到E

  7. /documents/Abc.jpg?-> config CC:

    最長匹配到C,往下正則順序匹配到CC,不會往下到E


本文名稱:Nginx實踐:location路徑匹配
本文路徑:http://m.5511xx.com/article/djpghje.html