欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nginx?rewrite?用法如何使用rewrite去除URL中的特定參數(shù)

 更新時間:2024年02月02日 09:49:09   作者:陳卿諾語  
日常服務(wù)中經(jīng)常會用Nginx做一層代理轉(zhuǎn)發(fā),把Nginx當(dāng)做前置機(jī),這篇文章主要介紹了nginx?rewrite?用法如何使用rewrite去除URL中的特定參數(shù),需要的朋友可以參考下

rewrite 基本介紹

rewrite是實現(xiàn)URL重寫的關(guān)鍵指令,根據(jù)regex (正則表達(dá)式)部分內(nèi)容,重定向到replacement,結(jié)尾是flag標(biāo)記。

基本語法:

rewrite 	<regex> 	<replacement> 	[flag];
關(guān)鍵字 		正則 				替代內(nèi)容 			flag標(biāo)記
  • regex: 正則表達(dá)式語句進(jìn)行規(guī)則匹配
  • replacement: 將正則匹配的內(nèi)容替換成replacement
  • flag: last | break | redirect | permanent
    • last : 本條規(guī)則匹配完成后,繼續(xù)向下匹配新的location URI規(guī)則
    • break: 本條規(guī)則匹配完成即終止,不再匹配后面的任何規(guī)則
    • redirect : 回302臨時重定向,瀏覽器地址會顯示跳轉(zhuǎn)后的URL地址 (防爬蟲)
    • permanent : 返回301永久重定向,瀏覽器地址欄會顯示跳轉(zhuǎn)后的URL地址

rewrite 使用位置

  • server : 在server中針對所有的請求
  • location : 在 location 中則針對 單個匹配路徑的
  • If

nginx rewrite 用法,用rewrite去除URL中的特定參數(shù)

日常服務(wù)中經(jīng)常會用Nginx做一層代理轉(zhuǎn)發(fā),把Nginx當(dāng)做前置機(jī)

比如,以下配置:

server {
    # 對外暴露 80 端口
    listen    80;
    server_name 192.168.10.231;
    # 后端API地址暴露為:http://192.168.10.231/apis
    location /apis {
        proxy_pass   http://127.0.0.1:8000/;
        proxy_pass_request_headers      on;
          # 重寫URL 去除apis
        rewrite "^/apis/(.*)$" /$1 break;
    }
}

這里的rewrite 就是為了去除URL中的/apis,實際的后端api中是沒有這個參數(shù)的,但是為了做到在Nginx轉(zhuǎn)發(fā)請求,前端需要加上這個參數(shù),以便于區(qū)別

比如前端的請求地址是

http://192.168.10.231/apis/user

那么實際上經(jīng)過Nginx轉(zhuǎn)發(fā)后請求的地址是

http://127.0.0.1:8000/user

rewrite “^/api/(.)”/1 break,路徑重寫:

(1)"^/api/(.)$":匹配路徑的正則表達(dá)式,用了分組語法就是*(.)**,把/api/以后的所有部分當(dāng)做1組;
(2)/$1:重寫的目標(biāo)路徑,這里用$1引用前面正則表達(dá)式匹配到的分組(組編號從1開始,也就是api),即/api/后面的所有。這樣新的路徑就是除去/api/以外的所有,就達(dá)到了去除/api前綴的目的

break:指令,常用的有2個,分別是:last、break;

(1)last:重寫路徑結(jié)束后,將得到的路徑重新進(jìn)行一次路徑匹配;
(2)break:重寫路徑結(jié)束后,不再重新匹配路徑。

到此這篇關(guān)于nginx rewrite 用法如何使用rewrite去除URL中的特定參數(shù)的文章就介紹到這了,更多相關(guān)nginx rewrite 用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論