Nginx使用Location匹配URL進行偽靜態

来源:https://www.cnblogs.com/crxis/archive/2018/05/22/9071264.html
-Advertisement-
Play Games

Nginx使用Location匹配URL進行偽靜態,location [ = | ~ | ~* | ^~ ] uri { ... }中=、~、~*、^*、^~等的區別。 ...


基礎知識

  1. Nginx location 配置語法

        1. location [ = | ~ | ~* | ^~ ] uri { ... }
        2. location @name { ... }    
    1. location 配置可以有兩種配置方法

      1.首碼 + uri(字元串/正則表達式)
      2.@ + name
      
    2. 首碼含義

          =  :精確匹配(必須全部相等)
          ~  :大小寫敏感
          ~* :忽略大小寫
          ^~ :只需匹配uri部分
          @  :內部服務跳轉
  2. Location 基礎知識

    1.location 是在 server 塊中配置。
    2.可以根據不同的 URI 使用不同的配置(location 中配置),來處理不同的請求。
    3.location 是有順序的,會被第一個匹配的location 處理。

Location 配置demo

1.=,精確匹配

        location = / {
            #規則
        }
        # 則匹配到 `http://www.example.com/` 這種請求。 

2.~,大小寫敏感

        location ~ /Example/ {
                #規則
        }
        #請求示例
        #http://www.example.com/Example/  [成功]
        #http://www.example.com/example/  [失敗]

3.~*,大小寫忽略

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

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

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

5.@,nginx內部跳轉

    location /img/ {
        error_page 404 @img_err;
    }
    
    location @img_err {
        # 規則
    }
    #以 /img/ 開頭的請求,如果鏈接的狀態為 404。則會匹配到 @img_err 這條規則上。

總結

Nginx 中的 location 並沒有想象中的很難懂,不必害怕。多找資料看看,多嘗試。你就會有收穫。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Ctrl+H 表示可以看到文件的隱藏文件夾 ...
  • 在bash shell中,環境變數分為: >全局變數 >局部變數 全局變數,不僅對shell可見,對其子進程也可見 查看預設的全局環境變數: 這兩個命令都可以列印全局環境變數 HOME是一個全局環境變數,保存用戶的家目錄 上面說了,全局環境變數對子shell也有用,我們就開啟一個子進程,來驗證一下: ...
  • 大家都知道i.MX RT105x是i.MX RT系列第一款產品,在提這款產品特性的時候,我們往往說的是i.MXRT1052DVL6B的特性,這也是RT105x系列主推的一款核心晶元,目前一些第三方硬體公司(比如ZLG、野火、正點原子、安富萊)做的RT105x開發板基本上都是基於這款晶元,但其實i.M... ...
  • 一款i.MXRT晶元名字共有10部分組成,從晶元名字上我們主要可以得到五種有效信息,分別是所屬子系列、溫度範圍、封裝、最大運行頻率等級、Tapeout版本。 ...
  • 上一次我們講解了vclient 5.5 的安裝以及連接ESXI5.5,但vclient只能管理一臺ESXI,管理多台還需要切換登陸,非常麻煩。所以這次我們就來講解一下vcenter server的相關知識及操作,它可以管理多台esxi主機。 一、實驗拓撲圖 註意:sql和vcenter在一臺主機中。 ...
  • 1、 實驗拓撲圖: 2、 實驗要求 (1) 新建一臺exsi主機,安裝exsi5.5系統。 步驟: 1)新建虛擬機,導入光碟。 2)安裝esxi系統 (2)在exsi主機中,配置IP地址為192.168.10.10,首選dns為202.106.0.20 步驟:1)配置ip和dns後退出 配置完成後按 ...
  • 問題: 最近在使用 wget ,感覺有很多的功能都不會,現在進行寫一篇文章,更新一些wget的使用技巧,防止以後忘記的時候,重新回來進行查閱。 正文: 未完。 ...
  • 在開始先來看一個有意思的東西: 結果是負數!!!! 這個結果理論上是非常不應該的,這已經違背了我們的常識,畢竟正數的乘積,最後的結果應該還是一個正數,但是這裡出現負數的情況,雖然結果不對,但是好在即使我們各種交換順序,結果都是一致的 我們再來試試浮點數呢 從結果看浮點數好像也沒好到哪裡去,也算錯了, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...