匹配符 匹配規則 優先級 = 精確匹配 1 ^~ 以某個字符串開頭 2 ~ 區分大小寫的正則匹配 3 ~* 不區分大小寫的正則匹配 4 !~ 區分大小寫不匹配的正則 5 !~* 不區分大小寫不匹配的正則 6 / 通用匹配,任何請求都會匹配到 7
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兩種方法 區別在方法和做用域: 方法: 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/; }