1. 程式人生 > >Nginx教程-location配置

Nginx教程-location配置

語法規則

location [=|~|~*|^~] /uri/ { … }

  • = 表示精確匹配,這個優先順序也是最高的
  • ^~ 表示uri以某個常規字串開頭,理解為匹配 url路徑即可。nginx不對url做編碼,因此請求為/static/20%/aa,可以被規則^~ /static/ /aa匹配到(注意是空格)。
  • ~ 表示區分大小寫的正則匹配
  • ~* 表示不區分大小寫的正則匹配(和上面的唯一區別就是大小寫)
  • !~和!~*分別為區分大小寫不匹配及不區分大小寫不匹配的正則
  • / 通用匹配,任何請求都會匹配到,預設匹配.

配置順序

優先順序=>^~>
首先匹配 =,其次匹配^~, 其次是按檔案中順序的正則匹配,最後是交給 / 通用匹配。
當有匹配成功時候,停止匹配,按當前匹配規則處理請求。

root & alias 檔案路徑配置

  • [root]
    語法:root path
    預設值:root html
    配置段:http、server、location、if
    root指定配置路徑的根目錄,即匹配的目錄放以root指定的目錄作為父目錄返回。
location ^~ /weblogs/ {
root /data/weblogs/www.ttsa.com;
}

#配置路徑返回/data/weblogs/www.ttsa.com/weblogs/....
  • [alias]
    語法:alias path
    配置段:location
    alias會把匹配到的目錄替換為指定的目錄。

[warning]
1. 使用alias時,目錄名後面一定要加”/”。
2. alias可以指定任何名稱。
3. alias在使用正則匹配時,必須捕捉要匹配的內容並在指定的內容處使用。
4. alias只能位於location塊中。

[/warning]