日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Nginx中rewrite(地址重定向)的深入剖析

瀏覽:421日期:2023-03-13 15:37:30
目錄
  • 一、rewrite語法
  • 二、應(yīng)用場景
  • 三、rewrite指定工作原理
  • 四、flag 參數(shù)簡介
    • 1、last
    • 2、break
    • 3、redirect
    • 4、parmanent
  • 五、示例
    • 總結(jié)

      一、rewrite語法

      指令語法:rewrite regex replacement[flag]

      默認(rèn)值:none

      應(yīng)用位置:server、location、if

      regex是PCRE 風(fēng)格的,如果regex匹配URI,那么URI就會被替換成replacement,replacement 就是新的URI。如果rewrite同一個上下文中有多個這樣的正則,匹配會依照rewrite指令出現(xiàn)的順序先后依次進行下去,匹配到一個之后并不會終止,而是繼續(xù)往下匹配,直到返回最后一個匹配上的為止。如果想要中止繼續(xù)往下匹配,可以使用第三個參數(shù)flag。

      如果新URI字符中有關(guān)于協(xié)議的任何東西,比如http://或者https://等,進一步的處理就終止了,直接返回客戶端302。

      如果返回的是30x,那么瀏覽器根據(jù)這個狀態(tài)碼和Location響應(yīng)頭再發(fā)起一次請求,然后才能得到想要的響應(yīng)結(jié)果。但是,如果不是返回30x狀態(tài)碼,那么跳轉(zhuǎn)就是內(nèi)部的,瀏覽器不做跳轉(zhuǎn)就能得到相應(yīng)。

      rewrite是實現(xiàn)URL重定向的重要指令,他根據(jù)regex(正則表達式)來匹配內(nèi)容跳轉(zhuǎn)到replacement,結(jié)尾是flag標(biāo)記

      示例:

      rewrite ^/(.*) http://www.baidu.com/ permanent;     # 匹配成功后跳轉(zhuǎn)到百度,執(zhí)行永久301跳轉(zhuǎn)
      

      常用正則表達式:

      字符描述\將后面接著的字符標(biāo)記為一個特殊字符或者一個原義字符或一個向后引用^匹配輸入字符串的起始位置$匹配輸入字符串的結(jié)束位置*匹配前面的字符零次或多次+匹配前面的字符一次或多次?匹配前面的字符零次或一次.匹配除“\n”之外的所有單個字符(pattern)匹配括號內(nèi)的pattern

      rewrite的最后一項參數(shù)

      標(biāo)記符號說明last本條規(guī)則匹配完成后繼續(xù)向下匹配新的location URL 規(guī)則break本條規(guī)則匹配完成后終止,不在匹配任何規(guī)則redirect返回302臨時重定向parmanent返回301永久重定向

      二、應(yīng)用場景

      • 調(diào)整用戶瀏覽的URL,看起來規(guī)范
      • 為了讓搜索引擎收錄網(wǎng)站內(nèi)容,讓用戶體驗更好
      • 網(wǎng)站更換新域名后
      • 根據(jù)特殊的變量、目錄、客戶端進行跳轉(zhuǎn)

      三、rewrite指定工作原理

      rewrite模塊的指令有break, if, return, rewrite, set等。rewrite指令所執(zhí)行的順序如下:

      首先在server上下文中依照順序執(zhí)行rewrite模塊指令;如果server中進行了rewrite重新,那么以新的URL發(fā)起內(nèi)部跳轉(zhuǎn),直接匹配location,不會再執(zhí)行server中的rewrite指令,然后

      - 新URL直接匹配location

      - 如果匹配上某個location,那么其中的rewrite模塊指令同樣依照順序執(zhí)行。

      - 如果再次導(dǎo)致URL的rewrite,那么再一次進行內(nèi)部跳轉(zhuǎn)去匹配location,但跳轉(zhuǎn)的總次數(shù)不能超過10次。

      四、flag 參數(shù)簡介

      1、last

      如果有l(wèi)ast參數(shù),那么停止處理任何rewrite相關(guān)的指令,立即用替換后的新URI開始下一輪的location匹配。

      如果在location的rewrite也使用last,便會再次以新的URI重新發(fā)起內(nèi)部重定向,再次進行l(wèi)ocation匹配,而新的URI中極有可能和舊的URI一樣再次匹配到相同location中,這樣死循環(huán)發(fā)生了。當(dāng)循環(huán)到第10次時,Nginx會終止這樣無意義的循環(huán),并返回500錯誤。這點需要特別的注意。

      2、break

      停止處理任何rewrite的相關(guān)指令,就如同break 指令本身一樣。

      last的break的相同點在于,立即停止執(zhí)行所有當(dāng)前上下文的rewrite模塊指令;不同點在于last參數(shù)接著用新的URI馬上搜尋新的location,而break不會搜尋新的location,直接用這個新的URI來處理請求,這樣能避免重復(fù)rewite。因此,在server上下文中使用last,而在location上下文中使用break

      3、redirect

      replacement 如果不包含協(xié)議,仍然是一個新的的URI,那么就用新的URI匹配的location去處理請求,不會返回30x跳轉(zhuǎn)。但是redirect參數(shù)可以讓這種情況也返回30x(默認(rèn)302)狀態(tài)碼,就像新的URI包含http://和https://等一樣。這樣的話,瀏覽器看到302,就會再發(fā)起一次請求,真正返回響應(yīng)結(jié)果的就是這第二個請求。

      4、parmanent

      和redirect參數(shù)一樣,只不過直接返回301永久重定向

      雖說URI有了新的,但是要拼接成完整的URL還需要當(dāng)前請求的scheme,以及由server_name_in_redirect和port_in_redirect指令決定的HOST和PORT.

      還有一個比較有意思的應(yīng)用,就是如果replacement中包含請求參數(shù),那么默認(rèn)情況下舊URI中的請求參數(shù)也會拼接在replacement后面作為新的URI,如果不想這么做,可以在replacement的最后面加上?。

      舉例說明:

      rewrite ^/users/(.*)$ /show?user=$1? last;

      這樣的新URI還是 /show?user=xxx

      但如果不加問號:

      rewrite ^/users/(.*)$ /show?user=$1 last;

      得到的新URI就是/show?user=$1&xxx=xxx。其中xxx=xxx是舊URI所帶的請求參數(shù)。

      五、示例

      server {
        # 訪問 /last.html 的時候,頁面內(nèi)容重寫到 /index.html 中,并繼續(xù)后面的location匹配,瀏覽器地址欄URL地址不變
        rewrite /last.html /index.html last;
      
        # 訪問 /break.html 的時候,頁面內(nèi)容重寫到 /index.html 中,并停止后續(xù)的匹配,瀏覽器地址欄URL地址不變;
        rewrite /break.html /index.html break;
      
        # 訪問 /redirect.html 的時候,頁面直接302定向到 /index.html中,瀏覽器地址URL跳為index.html
        rewrite /redirect.html /index.html redirect;
      
        # 訪問 /permanent.html 的時候,頁面直接301定向到 /index.html中,瀏覽器地址URL跳為index.html
        rewrite /permanent.html /index.html permanent;
      
        # 把 /html/*.html => /post/*.html ,301定向
        rewrite ^/html/(.+?).html$ /post/$1.html permanent;
      
        # 把 /search/key => /search.html?keyword=key
        rewrite ^/search\/([^\/]+?)(\/|$) /search.html?keyword=$1 permanent;
        
        # 把當(dāng)前域名的請求,跳轉(zhuǎn)到新域名上,域名變化但路徑不變
        rewrite ^/(.*) http://www.jd.com/$1 permanent;
        }
      

      總結(jié)

      到此這篇關(guān)于Nginx中rewrite(地址重定向)的文章就介紹到這了,更多相關(guān)Nginx rewrite地址重定向內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

      標(biāo)簽: Nginx
      日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
      中文精品视频| 日韩精品第一| 四虎精品一区二区免费| 亚洲国产福利| 欧美1区2区3| 91亚洲无吗| 欧美偷窥清纯综合图区| 香蕉精品999视频一区二区| 日韩高清欧美激情| 快she精品国产999| 亚洲网站视频| 99xxxx成人网| 免费看精品久久片| 亚洲黄色在线| 日本不卡视频一二三区| 日韩精品视频一区二区三区| 日韩av影院| 久久久久久网| 欧美女激情福利| 蜜桃视频一区二区三区在线观看| 日韩高清中文字幕一区| 精品免费在线| 久久中文字幕av| 精品中文一区| 亚洲精品成人一区| 麻豆一区二区99久久久久| 日本а中文在线天堂| 九九久久婷婷| 偷拍亚洲精品| а√天堂8资源在线| 欧美美女一区| 国产精品欧美一区二区三区不卡| 日韩精品永久网址| 亚洲狼人精品一区二区三区| 久久99久久久精品欧美| 好看的亚洲午夜视频在线| 日本不卡视频在线观看| 久久亚洲国产精品尤物| 亚洲大片在线| 国产精品日本一区二区不卡视频| 久久在线电影| 97人人精品| 日本99精品| 亚洲精品在线观看91| 精品国产欧美日韩一区二区三区| 中国女人久久久| 精品视频99| 人人爱人人干婷婷丁香亚洲| 在线亚洲观看| 999国产精品视频| 欧美黄色一区| 国产亚洲精品美女久久| 视频一区二区欧美| 国产乱码午夜在线视频| 国产精品天堂蜜av在线播放| 蜜臀av在线播放一区二区三区| 四虎国产精品免费观看| 免费精品一区| 国产欧美在线| 国产亚洲欧美日韩在线观看一区二区| 亚洲欧洲一区二区天堂久久| 伊人久久在线| 国产综合色区在线观看| 92国产精品| 福利片在线一区二区| 久久精品国产福利| 国产精品第一| 国产伦精品一区二区三区视频| 蜜臀va亚洲va欧美va天堂| 亚洲专区一区| 国产三级一区| 日韩精品乱码av一区二区| 欧美日韩午夜电影网| 国产日韩欧美一区二区三区 | 免费日韩视频| 精品91久久久久| 亚洲女人av| 婷婷综合成人| 国产a久久精品一区二区三区| 国产粉嫩在线观看| 欧产日产国产精品视频| 极品日韩av| 亚洲精品亚洲人成在线观看| 国产亚洲久久| 国精品产品一区| 亚洲va在线| 老司机精品久久| 91精品国产自产观看在线| 视频在线不卡免费观看| 蜜桃视频第一区免费观看| 国产精品视频首页| 欧美日韩国产传媒| 国产精品一区二区av日韩在线| 极品av在线| 日本aⅴ亚洲精品中文乱码| 国产精品资源| 欧美日韩中文字幕一区二区三区| 亚洲三级国产| 在线精品亚洲欧美日韩国产| 欧美专区一区二区三区| 欧美黄色一区二区| 91超碰国产精品| 久久精品毛片| 亚洲精品精选| 国产一二在线播放| 四虎在线精品| 美女福利一区二区三区| 亚洲精品黄色| 欧美日韩尤物久久| 欧美激情一区| 视频在线观看国产精品| 色婷婷综合网| 日本va欧美va欧美va精品| 日本精品在线中文字幕| 欧美一区不卡| 国产亚洲精品久久久久婷婷瑜伽| 国产aⅴ精品一区二区四区| 婷婷视频一区二区三区| 欧美日韩激情| 久久精品国产www456c0m| 国产精品多人| 欧美一区激情| 日本一区二区三区视频在线看| 婷婷综合五月| 伊人精品一区| 精品三级av在线导航| 欧美成人aaa| 国产成人免费| 中文字幕色婷婷在线视频| 久久影院一区二区三区| 国产精品一区二区av交换| 日本少妇精品亚洲第一区| 日韩国产在线观看| 日韩精品三区四区| 97久久精品| 欧美一级二级三级视频| 青青青国产精品| 久久99久久人婷婷精品综合| 国产欧美久久一区二区三区| 欧美在线不卡| 久久99精品久久久久久园产越南 | 久久国产精品免费一区二区三区 | 日韩精彩视频在线观看| 日韩在线视频一区二区三区| 日韩国产欧美三级| 日韩avvvv在线播放| 精品视频在线观看网站| 日本精品不卡| 欧美综合二区| 日韩av一二三| 精品一区二区三区中文字幕在线| 日本免费一区二区三区四区| 激情欧美一区二区三区| 视频在线观看一区| 久久黄色影视| 91精品xxx在线观看| 在线观看一区| 久久av电影| 日韩午夜av| 国产精品s色| 欧洲激情综合| 国产精品午夜av| 成人va天堂| 97精品久久| 日韩毛片视频| 热久久国产精品| 开心激情综合| 午夜久久99| 麻豆精品蜜桃视频网站| 蜜桃视频欧美| 欧美激情三区| 亚洲一区二区成人| 亚洲一区资源| 国产日韩欧美在线播放不卡| 一区在线视频观看| 久久精品天堂| 欧美精品三级在线| 影音先锋久久| 日韩中文字幕高清在线观看| 日韩激情视频网站| 欧美在线综合| bbw在线视频| 国产精品永久| 欧美日本不卡高清| 妖精视频成人观看www| 欧美日韩在线观看视频小说| 国产极品一区| 日韩福利在线观看| 亚洲一区二区三区久久久| 亚洲a一区二区三区| 日韩精品永久网址| 国产在视频一区二区三区吞精| 日本亚洲视频| 一区二区三区国产盗摄| 激情综合网五月| 日韩一区欧美| 久久久久久色| 日韩av一区二区在线影视| 亚洲丝袜美腿一区| 午夜一区在线|