Location語法優先順序排列
匹配符 匹配規則 優先順序 = 精確匹配 1 ^~ 以某個字串開頭 2 ~ 區分大小寫的正則匹配 3 ~* 不區分大小寫的正則匹配 4 !~ 區分大小寫不匹配的正則 5 !~* 不區分大小寫不匹配的正則 6 / 通用匹配,任何請求都會匹配到 7
nginx.conf配置檔案例項
server { listen 80; server_name pythonav.cn; #優先順序1,精確匹配,根路徑 location =/ { return 400; } #優先順序2,以某個字串開頭,以av開頭的,優先匹配這裡,區分大小寫 location ^~ /av { root /data/av/; } #優先順序3,區分大小寫的正則匹配,匹配/media*****路徑 location ~ /media { alias /data/static/; } #優先順序4 ,不區分大小寫的正則匹配,所有的****.jpg|gif|png 都走這裡 location ~* .*\.(jpg|gif|png|js|css)$ { root /data/av/; } #優先7,通用匹配 location / { return 403; } }
nginx語法之root和alias區別實戰
nginx指定檔案路徑有root和alias兩種方法 區別在方法和作用域: 方法: root 語法 root 路徑; 預設值 root html; 配置塊 http{} server {} location{} alias 語法: alias 路徑 配置塊 location{} root和alias區別在nginx如何解釋location後面的url,這會使得兩者分別以不同的方式講請求對映到伺服器檔案上 root引數是root路徑+location位置 root例項: location ^~ /av { root /data/av; 注意這裡可有可無結尾的 / } 請求url是pythonav.cn/av/index.html時 web伺服器會返回伺服器上的/data/av/av/index.html root例項2: location ~* .*\.(jpg|gif|png|js|css)$ { root /data/av/; } 請求url是pythonav.cn/girl.gif時 web伺服器會返回伺服器上的/data/static/girl.gif alias例項: alias引數是使用alias路徑替換location路徑 alias是一個目錄的別名 注意alias必須有 "/" 結束! alias只能位於location塊中 請求url是pythonav.cn/av/index.html時 web伺服器會返回伺服器上的/data/static/index.html location ^~ /av { alias /data/static/; }