国产探花免费观看_亚洲丰满少妇自慰呻吟_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 文件
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蒙阴县| 永和县| 高要市| 安仁县| 夏邑县| 芜湖市| 塘沽区| 大关县| 虹口区| 临漳县| 阿城市| 万全县| 重庆市| 大宁县| 女性| 呼玛县| 治县。| 乐陵市| 深泽县| 大冶市| 海伦市| 江口县| 青浦区| 金寨县| 财经| 沽源县| 安徽省| 略阳县| 翼城县| 璧山县| 多伦县| 修文县| 乌兰县| 娱乐| 孝感市| 高雄县| 迁安市| 土默特右旗| 唐河县| 改则县| 外汇|