国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

Nginx_location的匹配規則你了解多少?

2024-08-30 12:22:49
字體:
來源:轉載
供稿:網友
一 Nginx的location語法
  location [=|——|——*|^——] /uri/ { … }
  =         嚴格匹配。如果請求匹配這個location,那么將停止搜索并立即處理此請求
  ——         區分大小寫匹配(可用正則表達式)
  ——*       不區分大小寫匹配(可用正則表達式)
  !——       區分大小寫不匹配
  !——*     不區分大小寫不匹配
  ^——      如果把這個前綴用于一個常規字符串,那么告訴nginx 如果路徑匹配那么不測試正則表達式
  示例1:
  location  / { }
  匹配任意請求
  示例2:
  location ——* .(gif|jpg|jpeg)$ {
  rewrite .(gif|jpg|jpeg)$ /logo.png;
  }
  不區分大小寫匹配任何以gif、jpg、jpeg結尾的請求,并將該請求重定向到 /logo.png請求
  示例3:
  location —— ^.+/.txt$ {
  root /usr/local/nginx/html/;
  }
  區分大小寫匹配以.txt結尾的請求,并設置此location的路徑是/usr/local/nginx/html/。也就是以.txt結尾的請求將訪問/usr/local/nginx/html/ 路徑下的txt文件
二 alias與root的區別
  root    實際訪問文件路徑會拼接URL中的路徑
  alias   實際訪問文件路徑不會拼接URL中的路徑
  示例如下:
  location ^—— /sta/ {
  alias /usr/local/nginx/html/static/;
  }
  請求:http://test.com/sta/sta1.html
  實際訪問:/usr/local/nginx/html/static/sta1.html 文件
  location ^—— /tea/ {
  root /usr/local/nginx/html/;
  }
  請求:http://test.com/tea/tea1.html
  實際訪問:/usr/local/nginx/html/tea/tea1.html 文件
三 last 和 break關鍵字的區別
  (1)last 和 break 當出現在location 之外時,兩者的作用是一致的沒有任何差異
  (2)last 和 break 當出現在location 內部時:
  last        使用了last 指令,rewrite 后會跳出location 作用域,重新開始再走一次剛才的行為
  break    使用了break 指令,rewrite后不會跳出location 作用域,它的生命也在這個location中終結
四 permanent 和 redirect關鍵字的區別
  rewrite … permanent   永久性重定向,請求日志中的狀態碼為301
  rewrite … redirect         臨時重定向,請求日志中的狀態碼為302
五 綜合實例
  將符合某個正則表達式的URL重定向到一個固定頁面
  比如:我們需要將符合“/test/(/d+)/[/w-/.]+” 這個正則表達式的URL重定向到一個固定的頁面。符合這個正則表達式的頁面可能是:http://test.com/test/12345/abc122.html、http://test.com/test/456/11111cccc.js等
  從上面的介紹可以看出,這里可以使用rewrite重定向或者alias關鍵字來達到我們的目的。因此,這里可以這樣做:
  (1)使用rewrite關鍵字:
  location —— ^.+/.txt$ {
  root /usr/local/nginx/html/;
  }
  location ——* ^/test/(/d+)/[/w-/.]+$ {
  rewrite ^/test/(/d+)/[/w-/.]+$ /testpage.txt last;
  }
  這里將所有符合條件的URL(PS:不區分大小寫)都重定向到/testpage.txt請求,也就是 /usr/local/nginx/html/testpage.txt 文件
  (2)使用alias關鍵字:
  location ——* ^/test/(/d+)/[/w-/.]+$ {
  alias /usr/local/nginx/html/static/sta1.html;
  }
  這里將所有符合條件的URL(PS:不區分大小寫)都重定向到/usr/local/nginx/html/static/sta1.html 文件
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 上饶县| 额尔古纳市| 涡阳县| 江华| 新兴县| 潼南县| 曲麻莱县| 蚌埠市| 湘潭县| 景东| 调兵山市| 台州市| 尚志市| 临夏市| 兴宁市| 平定县| 开江县| 万荣县| 天全县| 浪卡子县| 寿阳县| 中牟县| 安新县| 穆棱市| 丰镇市| 调兵山市| 阿拉善左旗| 乐亭县| 浠水县| 贵阳市| 工布江达县| 河北省| 扎鲁特旗| 时尚| 南华县| 东丰县| 乐安县| 汶川县| 平远县| 嘉善县| 尼木县|