nginx配置中,location和root對應的關係

nginx中,location中的正則和root的關係,以及rewrite的重定向


1、Nginx location規則html

^~ 標識符匹配後面跟一個字符串。匹配字符串後將中止對後續的正則表達式進行匹配。nginx

= 精確匹配,如location=/,只會匹配url爲/的請求正則表達式

~ 區分大小寫的匹配ide

~* 不區分大小寫的匹配測試

!~ 對區分大小寫的匹配取反url

!~* 對不區分大小寫的匹配取反code

/ 通用匹配,若是沒有其餘匹配,任何請求都會被匹配到htm


2、正則表達式字符串

  • 重複前面的字符0次或者屢次

? 重複前面的字符0次或者1次it

  • 重複前面的數字1次或者屢次

. 匹配除換行符外的任意1個字符

(a|b) 匹配a或者b

^ 以...開頭

$ 以...結尾

{n} 重複前面的字符n次

{n,} 重複前面的字符n次或更屢次

{n,m} 重複前面的字符n次到m次

*? 重複前面的字符0次或者屢次,但儘量少重複

+? 重複前面的字符1次或者屢次,但儘量少重複

?? 重複前面的字符0次或1次,但儘量少重複

{n,m}? 重複前面的字符n次到m次,但儘量少重複

{n,}? 重複前面的字符n次以上,但儘量少重複

[a] 匹配單個字符a

[a-z] 匹配a-z小寫字母的任意一個

[^a] 匹配除了a之外的任意字符

[^abc] 匹配除了abc這幾個字母之外的任意字符


3、Nginx location匹配順序的優先級
(location =) > (location 完整路徑) >(location ^~路徑)>(location ~,~*正則順序) > (location 部分起始路徑) > (/)




實例測試

一、location 正則下的 root 和 alias

location / {
     root /nas/front/;
}

若是一個 URL 是 front.test.com/a.html , 那麼訪問到的是 /nas/front/a.html 文件

location /test/ {
     root /nas/front/;
}

若是一個 URL 是 front.test.com/test/a.html , 那麼訪問到的是 /nas/front/test/a.html 文件未完,待續

相關文章
相關標籤/搜索