久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      關(guān)于nginx location指令詳解

      關(guān)于nginx location指令詳解

      location匹配的是nginx的哪個(gè)變量?

      $request_uri

      location的匹配種類有哪些?

      =開頭表示精確匹配

      ^~ 開頭,注意這不是一個(gè)正則表達(dá)式(是提升優(yōu)先級(jí)的字符串匹配)–它的目的是優(yōu)先于正則表達(dá)式的匹配。如果該location是最佳匹配,則不再進(jìn)行正則表達(dá)式檢測(cè)。

      ~ 開頭表示區(qū)分大小寫的正則匹配;

      ~* 開頭表示不區(qū)分大小寫的正則匹配

      !~ && !~*:表示區(qū)分大小寫不匹配的正則和不區(qū)分大小寫的不匹配的正則

      字符串匹配

      /通用匹配, 如果沒有其它匹配,任何請(qǐng)求都會(huì)匹配到

      location搜索順序

      首先精確匹配 =

      其次匹配 ^~

      再其次按照配置文件的順序進(jìn)行正則匹配

      最后是交給/進(jìn)行通用匹配

      注意:

      當(dāng)有匹配成功時(shí),立刻停止匹配,按照當(dāng)前匹配規(guī)則處理請(qǐng)求

      特別注意:字符串匹配優(yōu)先搜索,但是只是記錄下最長(zhǎng)的匹配 ,然后繼續(xù)搜索正則匹配,如果有正則匹配,則命中正則匹配,如果沒有正則匹配,則命中最長(zhǎng)的字符串匹配。 ( 如果 ^~ 是最長(zhǎng)的匹配,則會(huì)直接命中,停止搜索正則 )

      精確匹配

      location = /images/test.png {     echo 'config1'; } location  /images/test.png {     echo 'config2'; } location /images/test.png$ {     echo 'config3'; }

      如果此時(shí)請(qǐng)求 http://127.0.0.1/images/test.png 會(huì)輸出什么呢?

      輸出 config1, 毋容置疑,精確匹配優(yōu)先級(jí)最高!

      精確匹配的特殊情況

      location = / {     index index.html; } location / {     echo 'config2'; }

      此時(shí)是輸入http://127.0.0.1 會(huì)輸出什么呢?

      是輸出 config2, 怎么精確匹配的優(yōu)先級(jí)不靈了呢?

      是這樣的,精確匹配還是起作用了,請(qǐng)求目錄(非具體文件),nginx會(huì)將請(qǐng)求內(nèi)部定向到index文件,

      既此時(shí)真正的請(qǐng)求是http://127.0.0.1/index.html, 這是 config2則被命中!

      所以精確匹配不要用來(lái)匹配 /

      字符串搜索與正則搜索

      location /images/test.png {     echo 'config1'; } location ^~ /images/ {     echo 'config2'; } location ~ /images/test.png$ {     echo 'config3'; } location ~ /images/ {     echo 'config4'; }

      如果此時(shí)請(qǐng)求 http://127.0.0.1/images/test.png 會(huì)輸出什么呢?

      當(dāng)然是 config3,正則命中

      (雖然 config1 為最長(zhǎng)匹配的字符串,此時(shí)只做記錄,后面還要搜索正則匹配,則config3正則匹配命中),

      仔細(xì)觀察可以發(fā)現(xiàn)config4也被匹配成功了,但是正則的匹配順序是按照l(shuí)ocation的定義順序匹配的,所以config3命中.

      字符串匹配優(yōu)先級(jí)的提升( ^~ )

      location /images/ {     echo 'config1'; } location ^~ /images/test.png {     echo 'config2'; } location ~ /images/test.png$ {     echo 'config3'; } location ~ /images/ {     echo 'config4'; }

      如果此時(shí)請(qǐng)求 http://127.0.0.1/images/test.png 會(huì)輸出什么呢?

      當(dāng)然是config2, 首部匹配命中

      (因?yàn)樽址ヅ涫莾?yōu)先搜索的,此時(shí)發(fā)現(xiàn)config2 為最長(zhǎng)的字符串匹配且為^~匹配方式,所以停止搜索正則,直接命中!)

      所以這里的 ^~ 符號(hào)比較特殊,就是為了提高字符串匹配的優(yōu)先級(jí),優(yōu)先于正則匹配.

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)