主頁 > 知識(shí)庫 > Nginx中Location從零開始的配置教程

Nginx中Location從零開始的配置教程

熱門標(biāo)簽:檢查注冊(cè)表項(xiàng) 網(wǎng)站建設(shè) 硅谷的囚徒呼叫中心 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 美圖手機(jī) 阿里云 智能手機(jī) 使用U盤裝系統(tǒng)

基礎(chǔ)知識(shí)

location的匹配順序是“先匹配正則,在匹配普通”。

location的匹配順序其實(shí)是“先匹配普通,在匹配正則”。造成誤解的原因是:正則匹配會(huì)覆蓋普通匹配

Nginx location 配置語法

    1. location [ = | ~ | ~* | ^~ ] uri { ... }

    2. location @name { ... }   

location 配置可以有兩種配置方法

1.前綴 + uri(字符串/正則表達(dá)式)

2.@ + name

前綴含義

    =  :精確匹配(必須全部相等)

    ~  :大小寫敏感

    ~* :忽略大小寫

    ^~ :只需匹配uri部分

    @  :內(nèi)部服務(wù)跳轉(zhuǎn)

Location 基礎(chǔ)知識(shí)

1.location 是在 server 塊中配置。

2.可以根據(jù)不同的 URI 使用不同的配置(location 中配置),來處理不同的請(qǐng)求。

3.location 是有順序的,會(huì)被第一個(gè)匹配的location 處理。

Location 配置demo

1.=,精確匹配

  location = / {
   #規(guī)則
  }
  # 則匹配到 `http://www.example.com/` 這種請(qǐng)求。

2.~,大小寫敏感

  location ~ /Example/ {
    #規(guī)則
  }
  #請(qǐng)求示例
  #http://www.example.com/Example/ [成功]
  #http://www.example.com/example/ [失敗]

3.~*,大小寫忽略

 location ~* /Example/ {
    #規(guī)則
 }
 # 則會(huì)忽略 uri 部分的大小寫
 #http://www.example.com/Example/ [成功]
 #http://www.example.com/example/ [成功]

4.^~,只匹配以 uri 開頭

 location ^~ /img/ {
   #規(guī)則
 }
 #以 /img/ 開頭的請(qǐng)求,都會(huì)匹配上
 #http://www.example.com/img/a.jpg [成功]
 #http://www.example.com/img/b.mp4 [成功]

5.@,nginx內(nèi)部跳轉(zhuǎn)

 location /img/ {
  error_page 404 @img_err;
 }
 
 location @img_err {
  # 規(guī)則
 }
 #以 /img/ 開頭的請(qǐng)求,如果鏈接的狀態(tài)為 404。則會(huì)匹配到 @img_err 這條規(guī)則上。

總結(jié)

Nginx 中的 location 并沒有想象中的很難懂,不必害怕。多找資料看看,多嘗試。你就會(huì)有收獲。

參考

  • http://nginx.org/en/docs/http/ngx_http_core_module.html#location
  • 統(tǒng)一資源標(biāo)志符

好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

標(biāo)簽:黃山 懷化 通遼 湘潭 山南 煙臺(tái) 賀州 湖北

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Nginx中Location從零開始的配置教程》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266