Nginx的location匹配規則

2022-03-29 15:10:25 字數 1162 閱讀 7911

location [=|~|~*|^~] /uri/

示例1:

location  /

匹配任意請求

示例2:

不區分大小寫匹配任何以gif、jpg、jpeg結尾的請求,並將該請求重定向到 /logo.png請求

示例3:

location ~ ^.+\.txt$

區分大小寫匹配以.txt結尾的請求,並設定此location的路徑是/usr/local/nginx/html/。也就是以.txt結尾的請求將訪問/usr/local/nginx/html/ 路徑下的txt檔案

示例如下:

location ^~ /sta/

location ^~ /tea/

(1)last 和 break 當出現在location 之外時,兩者的作用是一致的沒有任何差異

(2)last 和 break 當出現在location 內部時:

將符合某個正規表示式的url重定向到乙個固定頁面

比如:我們需要將符合「/test/(\d+)/[\w-\.]+」 這個正規表示式的url重定向到乙個固定的頁面。符合這個正規表示式的頁面可能是:等

從上面的介紹可以看出,這裡可以使用rewrite重定向或者alias關鍵字來達到我們的目的。因此,這裡可以這樣做:

(1)使用rewrite關鍵字:

location ~ ^.+\.txt$ 

location ~* ^/test/(\d+)/[\w-\.]+$

這裡將所有符合條件的url(ps:不區分大小寫)都重定向到/testpage.txt請求,也就是 /usr/local/nginx/html/testpage.txt 檔案

(2)使用alias關鍵字:

location ~* ^/test/(\d+)/[\w-\.]+$

這裡將所有符合條件的url(ps:不區分大小寫)都重定向到/usr/local/nginx/html/static/sta1.html 檔案

參考:**:

nginx的location配置詳解

語法規則 location uri 開頭表示精確匹配 開頭表示uri以某個常規字串開頭,理解為匹配 url路徑即可。nginx不對url做編碼,因此請求為 static 20 aa,可以被規則 static aa匹配到 注意是空格 開頭表示區分大小寫的正則匹配 開頭表示不區分大小寫的正則匹配 和 分...

nginx的location配置詳解

語法規則 location uri 開頭表示精確匹配 開頭表示uri以某個常規字串開頭,理解為匹配 url路徑即可。nginx不對url做編碼,因此請求為 static 20 aa,可以被規則 static aa匹配到 注意是空格 開頭表示區分大小寫的正則匹配 開頭表示不區分大小寫的正則匹配 和 分...

nginx的location規則(一)

nginx的url配置是使用nginx最基本功能。nginx作為伺服器,它可以接收請求,處理請求,都是基於客戶端url訪問。掌握url的配置要了解配置的幾個指令。熟悉每個匹配模式的特點。之前對於nginx的location匹配規則,我是一塌糊塗,最近認真學了一下,稍微清晰一點了,先記錄下來,方便以後...