最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx?Rewrite及Location的使用與區(qū)別

 更新時(shí)間:2023年08月24日 10:23:03   作者:Guo_youyou  
rewrite和location的功能有點(diǎn)相像,都能實(shí)現(xiàn)跳轉(zhuǎn),本文主要介紹了Nginx?Rewrite及Location的使用與區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下

一、Rewrite跳轉(zhuǎn)場(chǎng)景

URL看起來更規(guī)范、合理

企業(yè)會(huì)將動(dòng)態(tài)URL地址偽裝成靜態(tài)地址提供服務(wù)

網(wǎng)址換新域名后,讓舊的訪問跳轉(zhuǎn)到新的域名上

服務(wù)端某些業(yè)務(wù)調(diào)整

ps:  

URL:就是一個(gè)具體路徑/位置

URI:指的是一個(gè)擁有相同類型/特性的對(duì)象集合

URN:用名稱定位

二、Rewrite跳轉(zhuǎn)實(shí)現(xiàn)

通過ngx_http_rewrite_module這個(gè)模塊來實(shí)現(xiàn),而這個(gè)模塊內(nèi)有四部分來組成:

Nignx:支持URL重寫、支持if條件判斷,但不支持else

跳轉(zhuǎn):循環(huán)最多可以執(zhí)行10次,超過后nginx將返回500錯(cuò)誤

PCRE支持:rewrite使用nginx全局變量或自己設(shè)置的變量,結(jié)合正則表達(dá)式和標(biāo)志位實(shí)現(xiàn)URL重寫以及重定向

重寫 模塊:set指令

三、Rewrite實(shí)際場(chǎng)景

1.nginx跳轉(zhuǎn)需求的實(shí)現(xiàn)方式:

使用rewrite進(jìn)行匹配跳轉(zhuǎn)

使用if匹配全局變量后跳轉(zhuǎn)

使用location匹配再跳轉(zhuǎn)

2.rewrite放在server{},if{},location{}段中

location只對(duì)域名后面的出去傳遞參數(shù)外的字符串起作用

3.對(duì)域名或參數(shù)字符串

使用if全局變量匹配

使用proxy_pass反向代理

四、Rewrite正則表達(dá)式

字符說明
^匹配輸入字符串的起始位置
&匹配輸入字符串的結(jié)束位置
*匹配前面的字符零次或多次
+匹配前面的字符一次或多次
?匹配前面的字符零次或一次
.匹配除“\n”之外的任何單個(gè)字符
\將后面接著的字符標(biāo)記為一個(gè)特殊字符或一個(gè)原義字符或一個(gè)向后引用
\d匹配純數(shù)字
{n} 重復(fù) n 次
{n,} 重復(fù) n 次或更多次
{n,m} 重復(fù) n 到 m 次
[ ]定義匹配的字符范圍
[c]

匹配單個(gè)字符 c

[a-z]匹配 a-z 小寫字母的任意一個(gè)
[a-zA-Z0-9]匹配所有大小寫字母或數(shù)字
( )表達(dá)式的開始和結(jié)束位置
|或運(yùn)算符

五、Rewrite命令/語法格式

 flag標(biāo)記說明

標(biāo)記說明
last相當(dāng)于Apache的[L]標(biāo)記,表示完成rewrite
break本條規(guī)則匹配完成即終止,不再匹配后面的任何規(guī)則
redirect返回302臨時(shí)重定向,瀏覽器地址會(huì)顯示跳轉(zhuǎn)后的URL地址,爬蟲不會(huì)更新URL
permanent返回301永久重定向,瀏覽器地址會(huì)顯示跳轉(zhuǎn)后的URL地址,爬蟲更新URL

last :在本條規(guī)則完成后,繼續(xù)向下匹配新的location URL規(guī)則,一般用在server和if當(dāng)中

break :和last類似,但是不會(huì)重新發(fā)起一次處理過程,而是直接返回處理結(jié)果,一般用在location當(dāng)中

redirect :該標(biāo)記表示當(dāng)前規(guī)則匹配成功后立即進(jìn)行重定向操作(臨時(shí))

permanent :該標(biāo)記和redirect類似,永久性重定向

set :表示當(dāng)前規(guī)則匹配成功后設(shè)置一個(gè)變量,并把變量傳入下一條規(guī)則

六、Location分類

1. location 大致可以分為三類:

精準(zhǔn)匹配:location = / {...}
一般匹配:location / {...} 
正則匹配:location ~ / {...}

2.location 常用的匹配規(guī)則:

標(biāo)記說明
=進(jìn)行普通字符精確匹配,也就是完全匹配
^~表示普通字符匹配,使用前綴匹配
~區(qū)分大小寫的匹配
~*不區(qū)分大小寫的匹配
!~區(qū)分大小寫的匹配取非
!~*不區(qū)分大小寫的匹配取非
@定義一個(gè)命名的location,使用在內(nèi)部定向時(shí)

七、Location優(yōu)先級(jí)

首先精確匹配 =
其次前綴匹配 ^~
其次是按文件中順序的正則匹配 ~或~*
然后匹配不帶任何修飾的前綴匹配
最后是交給 / 通用匹配     

八、Rewrite和Location比較

1.相同點(diǎn)

都能實(shí)現(xiàn)跳轉(zhuǎn)

2.不同點(diǎn)

rewrite是在同一域名內(nèi)更改獲取資源的路徑

location是對(duì)一類路徑做控制訪問或反向代理,還可以proxy_pass到其他機(jī)器

3.rewrite會(huì)寫在location里,執(zhí)行順序

執(zhí)行server塊里面的rewrite指令

執(zhí)行l(wèi)ocation匹配

執(zhí)行選定的location中的rewrite指令

九、跳轉(zhuǎn)小案例

基于域名的跳轉(zhuǎn):

#修改配置文件

重啟服務(wù)

瀏覽器模擬訪問www.kgc.com會(huì)跳轉(zhuǎn)到www.benet.com

模擬訪問www.kgc.com/test會(huì)跳轉(zhuǎn)到www.benet.com/test,查看元素可以看到返回301,實(shí)現(xiàn)了永久重定向跳轉(zhuǎn),而且域名后的參數(shù)也正常跳轉(zhuǎn)。

十、總結(jié)

1.優(yōu)先級(jí)總結(jié):

(location = 完整路徑) > (location ^~ 路徑) > (location ~,~* 正則順序) > (location 部分起始路徑) > (location /)

2.location 匹配 

首先看 優(yōu)先級(jí):精確>前綴>正則>一般>通用
優(yōu)先級(jí)相同:正則看上下順序,上面的優(yōu)先;一般匹配看長(zhǎng)度,最長(zhǎng)匹配的優(yōu)先
精確、前綴、正則、一般 都沒有匹配到,最后再看通用匹配  一般匹配

3.rewrite和location比較

rewrite:改寫訪問的URL路徑  (被訪問的HTML/HTM/CSS文件)

location:對(duì)一類地址進(jìn)行權(quán)限控制(認(rèn)證控制)+ 跳轉(zhuǎn)(跨服務(wù)器進(jìn)行URL跳轉(zhuǎn))

4.實(shí)際網(wǎng)站使用中,至少有三個(gè)匹配規(guī)則定義:

第一個(gè)必選規(guī)則

直接匹配網(wǎng)站根,通過域名訪問網(wǎng)站首頁比較頻繁,使用這個(gè)會(huì)加速處理,比如說官網(wǎng)??梢允且粋€(gè)靜態(tài)首頁,也可以直接轉(zhuǎn)發(fā)給后端應(yīng)用服務(wù)器

第二個(gè)必選規(guī)則

處理靜態(tài)文件請(qǐng)求,這是nginx作為http服務(wù)器的強(qiáng)項(xiàng)有兩種配置模式,目錄匹配或后綴匹配,任選其一或搭配使用

第三個(gè)規(guī)則

通用規(guī)則,比如用來轉(zhuǎn)發(fā)帶.php、.jsp后綴的動(dòng)態(tài)請(qǐng)求到后端應(yīng)用服務(wù)器非靜態(tài)文件請(qǐng)求就默認(rèn)是動(dòng)態(tài)請(qǐng)求

到此這篇關(guān)于Nginx Rewrite及Location的使用與區(qū)別的文章就介紹到這了,更多相關(guān)Nginx Rewrite Location 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx worker_connections配置太低導(dǎo)致500錯(cuò)誤案例

    Nginx worker_connections配置太低導(dǎo)致500錯(cuò)誤案例

    這篇文章主要介紹了Nginx worker_connections配置太低導(dǎo)致500錯(cuò)誤案例,需要的朋友可以參考下
    2015-04-04
  • win10安裝配置nginx的過程

    win10安裝配置nginx的過程

    這篇文章主要介紹了win10安裝配置nginx的過程,幫助大家更好的理解和使用nginx服務(wù)器,感興趣的朋友可以了解下
    2020-10-10
  • 生產(chǎn)環(huán)境之Nginx高可用方案實(shí)現(xiàn)過程解析

    生產(chǎn)環(huán)境之Nginx高可用方案實(shí)現(xiàn)過程解析

    這篇文章主要介紹了生產(chǎn)環(huán)境之Nginx高可用方案實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Nginx負(fù)載均衡的4種方案配置實(shí)例

    Nginx負(fù)載均衡的4種方案配置實(shí)例

    這篇文章主要介紹了Nginx負(fù)載均衡的4種方案配置實(shí)例,本文講解了輪詢、最少連接、IP地址哈希、基于權(quán)重的負(fù)載均衡等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • Nginx文件下載站點(diǎn)搭建的實(shí)現(xiàn)步驟

    Nginx文件下載站點(diǎn)搭建的實(shí)現(xiàn)步驟

    本文主要介紹了Nginx文件下載站點(diǎn)搭建的實(shí)現(xiàn)步驟,包含配置Nginx和Fancyindex來搭建文件下載站點(diǎn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • Nginx 啟動(dòng)、停止、重啟、升級(jí)操作命令收集

    Nginx 啟動(dòng)、停止、重啟、升級(jí)操作命令收集

    也許你不知道什么是Nginx,Nginx是一個(gè)WEB服務(wù)器,如IIS那樣,現(xiàn)在好多門戶都在使用了Nginx作為WEB服務(wù)器了,Nginx在Linux系統(tǒng)下跑很優(yōu)秀,強(qiáng)過其它的WEB服務(wù)端,還可以做負(fù)載均衡,很不錯(cuò)吧。
    2010-10-10
  • Nginx配置禁止訪問某個(gè)目錄或文件的方法和示例

    Nginx配置禁止訪問某個(gè)目錄或文件的方法和示例

    在 Nginx 中,可以通過配置 訪問控制規(guī)則 來禁止訪問某個(gè)目錄或文件,以下是詳細(xì)的配置方法和示例,幫助你快速實(shí)現(xiàn)禁止訪問的需求,需要的朋友可以參考下
    2025-11-11
  • Nginx/Openresty中啟用http2支持的方法教程

    Nginx/Openresty中啟用http2支持的方法教程

    Openresty/Nginx默認(rèn)是不支持http2的,需要將http2模塊編譯進(jìn)應(yīng)用中。這篇文章主要給大家介紹了關(guān)于在Nginx/Openresty中啟用http2支持的方法教程,文中介紹的非常詳細(xì),對(duì)大家具有一的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • JUPYTER服務(wù)的NGINX反向代理配置過程

    JUPYTER服務(wù)的NGINX反向代理配置過程

    文章介紹了如何配置Jupyter Notebook和Nginx以支持WebSocket協(xié)議,首先,檢查并生成Jupyter配置文件,設(shè)置密碼,然后,在Nginx配置文件中為Jupyter配置代理,確保支持WebSocket
    2026-03-03
  • Nginx實(shí)現(xiàn)負(fù)載均衡和反向代理的方法

    Nginx實(shí)現(xiàn)負(fù)載均衡和反向代理的方法

    Nginx是由俄羅斯人研發(fā)的,應(yīng)對(duì)Rambler的網(wǎng)站,并且2004年發(fā)布的第一個(gè)版本,Nginx功能豐富,可作為HTTP服務(wù)器,也可作為反向代理服務(wù)器,郵件服務(wù)器,本文給大家介紹了Nginx實(shí)現(xiàn)負(fù)載均衡和反向代理的方法,需要的朋友可以參考下
    2024-02-02

最新評(píng)論

胶南市| 衡南县| 镇康县| 延川县| 威海市| 泸州市| 贵定县| 囊谦县| 康马县| 玛多县| 潞城市| 吉林市| 富川| 凤城市| 宁国市| 德兴市| 光山县| 扬中市| 河津市| 新竹市| 策勒县| 安岳县| 安吉县| 玛纳斯县| 锡林浩特市| 辽源市| 阳原县| 平顶山市| 浦江县| 西林县| 抚顺县| 孝感市| 白银市| 上高县| 清涧县| 泾源县| 道真| 长乐市| 胶南市| 高碑店市| 吴江市|