= 表示精確匹配,這個優先順序也是最高的多個 location 配置的情況下匹配順序為(參考資料而來,還未實際驗證,試試就知道了,不必拘泥,僅供參^~ 表示 uri 以某個常規字串開頭,理解為匹配 url 路徑即可。nginx 不對 url 做編碼,因此請求為/static/20%/aa,可以被規則
^~ /static/ /aa 匹配到(注意是空格)。
~表示區分大小寫的正則匹配
~* 表示不區分大小寫的正則匹配(和上面的唯一區別就是大小寫)
!~和!~*分別為區分大小寫不匹配及不區分大小寫不匹配的正則
/ 通用匹配,任何請求都會匹配到,預設匹配.
考):
優先順序=>^~>
首先匹配 =,其次匹配^~, 其次是按檔案中順序的正則匹配,最後是交給 / 通用匹配。當有匹配成功時候,停止
匹配,按當前匹配規則處理請求。
例子,有如下匹配規則:
location ^~ /static/以下是各種的訪問情況
訪問 因為/是完全匹配的
如下:
$ curl
=/
訪問 nginx,因為完全匹配了」=/nginx」
$ curl nginx
=/nginx
訪問 nginx,從第乙個開始嘗試匹配,最後匹配到了~* .png$ .
$ curl ***/1111.png (注意,這是大寫)
all-png
訪問 static/1111.png,雖然 static 放在最後面,但是因為有^的緣故,他是最匹配的.
$ curl static/1111.png
static
好了,最後給出我們先上環境的靜態檔案的匹配規則
nginx 指定檔案路徑有兩種方式 root 和 alias,這兩者的用法區別,使用方法總結了下,方便大家在應用過程中,快速響應。root 與 alias 主要區別在於 nginx 如何解釋 location 後面的 uri,這會使兩者分別以不同的方式將請求對映到伺服器檔案上。[root]
語法:root path
預設值:root html
配置段:http、server、location、if
[alias]
語法:alias path
配置段:location
例項:
location ~ ^/weblogs/
如果乙個請求的 uri 是/weblogs/httplogs/www.ttlsa.com-access.log 時,web 伺服器將會返回伺服器上的
/data/weblogs/www.ttlsa.com/weblogs/httplogs/www.ttlsa.com-access.log 的檔案。
[info]root 會根據完整的 uri 請求來對映,也就是/path/uri。[/info]
因此,前面的請求對映為 path/weblogs/httplogs/www.ttlsa.com-access.log。
limit_conn limit 4;
limit_rate 200k;
internal;}
使用 alias 時,目錄名後面一定要加」/」。
alias 可以指定任何名稱。
alias 在使用正則匹配時,必須捕捉要匹配的內容並在指定的內容處使用。
alias 只能位於 location 塊中。
Nginx配置基礎 location
location表示式型別 表示執行乙個正則匹配,區分大小寫 表示執行乙個正則匹配,不區分大小寫 表示普通字元匹配。使用字首匹配。如果匹配成功,則不再匹配其他location。進行普通字元精確匹配。也就是完全匹配。常規字串匹配。按字首匹配。它定義乙個命名的 location,使用在內部定向時,例如 ...
nginx配置location總結
上 多的不說了,配了很多,終於起效了。對nginx 來說,實現的方法很簡單,只要在location段中,使用 expires 就可以了 格式expires 30s 表示把資料快取30秒 expires 30m 表示把資料快取30分 expires 10h 表示把資料快取10小時 expires 1d...
nginx的location配置詳解
語法規則 location uri 開頭表示精確匹配 開頭表示uri以某個常規字串開頭,理解為匹配 url路徑即可。nginx不對url做編碼,因此請求為 static 20 aa,可以被規則 static aa匹配到 注意是空格 開頭表示區分大小寫的正則匹配 開頭表示不區分大小寫的正則匹配 和 分...