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

利用Nginx實現(xiàn)URL重定向的簡單方法

 更新時間:2022年04月11日 08:02:53   作者:追風(fēng)人聊Java  
使用Nginx的重定向功能時,除了可以重定向到新域名,還可以將請求重定向到特定的協(xié)議上,下面這篇文章主要給大家介紹了關(guān)于如何利用Nginx實現(xiàn)URL重定向的簡單方法,需要的朋友可以參考下

1. 概述

老話說的好:取乎上,得其中;取乎中,得其下。因此我們不妨把目標(biāo)定的高一些,去努力,才能得到更好回報。

言歸正傳,今天我們來聊聊 使用 Nginx 實現(xiàn) URL 的重定向。

2. 使用 Nginx 實現(xiàn) URL 的重定向

2.1 使用場景

我們?nèi)粘7窒硪粋€網(wǎng)站地址時,常常會有這樣的效果,同樣一個網(wǎng)址,在電腦的瀏覽器打開,是一種效果,而在手機的瀏覽器打開,就會展現(xiàn)出另一種更適合手機顯示的效果。

通常要達(dá)到這樣的效果,有兩種方式實現(xiàn):

一、使用自適應(yīng)的 H5 頁面實現(xiàn),根據(jù)窗口寬度的大小,自動調(diào)整頁面的布局。

二、使用Nginx,依據(jù)終端的不同,跳轉(zhuǎn)到不同的頁面,電腦打開,跳轉(zhuǎn)到 PC端 使用的網(wǎng)頁,手機打開,跳轉(zhuǎn)到 手機端 使用的網(wǎng)頁。

今天我們介紹一下第二種方式,是如何實現(xiàn)的。

2.2 單純的重定向

有些 URL 的重定向,新 URL 不需要繼承原 URL 的參數(shù),例如 網(wǎng)站首頁,這種情況,在 Nginx 配置文件的 location 中使用 return 302 的方式進(jìn)行跳轉(zhuǎn)即可。

location / {
        # 判斷是否是移動端
        if ( $http_user_agent ~ "(MIDP)|(WAP)|(UP.Browser)|(Smartphone)|(Obigo)|(Mobile)|(AU.Browser)|(wxd.Mms)|(WxdB.Browser)|(CLDC)|(UP.Link)|(KM.Browser)|(UCWEB)|(SEMC-Browser)|(Mini)|(Symbian)|(Palm)|(Nokia)|(Panasonic)|(MOT-)|(SonyEricsson)|(NEC-)|(Alcatel)|(Ericsson)|(BENQ)|(BenQ)|(Amoisonic)|(Amoi-)|(Capitel)|(PHILIPS)|(SAMSUNG)|(Lenovo)|(Mitsu)|(Motorola)|(SHARP)|(WAPPER)|(LG-)|(LG/)|(EG900)|(CECT)|(Compal)|(kejian)|(Bird)|(BIRD)|(G900/V1.0)|(Arima)|(CTL)|(TDG)|(Daxian)|(DAXIAN)|(DBTEL)|(Eastcom)|(EASTCOM)|(PANTECH)|(Dopod)|(Haier)|(HAIER)|(KONKA)|(KEJIAN)|(LENOVO)|(Soutec)|(SOUTEC)|(SAGEM)|(SEC-)|(SED-)|(EMOL-)|(INNO55)|(ZTE)|(iPhone)|(Android)|(Windows CE)|(Wget)|(Java)|(curl)|(Opera)" )
        {
            return 302 https://www.zhuifengren.com/h5/index.html;
        }
 
        proxy_pass http://myUpstream;
 }

2.3 依據(jù)原 URL 重定向

另一種情況就是 新 URL 需要繼承原 URL 的參數(shù),這種情況就需要使用  rewrite 對 URL 進(jìn)行改寫。

location / {
        # 判斷是否是移動端
        if ( $http_user_agent ~ "(MIDP)|(WAP)|(UP.Browser)|(Smartphone)|(Obigo)|(Mobile)|(AU.Browser)|(wxd.Mms)|(WxdB.Browser)|(CLDC)|(UP.Link)|(KM.Browser)|(UCWEB)|(SEMC-Browser)|(Mini)|(Symbian)|(Palm)|(Nokia)|(Panasonic)|(MOT-)|(SonyEricsson)|(NEC-)|(Alcatel)|(Ericsson)|(BENQ)|(BenQ)|(Amoisonic)|(Amoi-)|(Capitel)|(PHILIPS)|(SAMSUNG)|(Lenovo)|(Mitsu)|(Motorola)|(SHARP)|(WAPPER)|(LG-)|(LG/)|(EG900)|(CECT)|(Compal)|(kejian)|(Bird)|(BIRD)|(G900/V1.0)|(Arima)|(CTL)|(TDG)|(Daxian)|(DAXIAN)|(DBTEL)|(Eastcom)|(EASTCOM)|(PANTECH)|(Dopod)|(Haier)|(HAIER)|(KONKA)|(KEJIAN)|(LENOVO)|(Soutec)|(SOUTEC)|(SAGEM)|(SEC-)|(SED-)|(EMOL-)|(INNO55)|(ZTE)|(iPhone)|(Android)|(Windows CE)|(Wget)|(Java)|(curl)|(Opera)" )
        {
            rewrite (\w+-\w+)|(\?.*)$ https://www.zhuifengren.com/h5-$1-0.html$2 redirect;        
        }    
 
        proxy_pass http://myUpstream;
}

rewrite 的語法是: rewrite  正則表達(dá)式  改寫后的URL  redirect;

其中 redirect 是 302 臨時重定向的意思,也可以使用 permanent 關(guān)鍵字,代表 301 永久重定向。

使用 rewrite 對 URL 進(jìn)行改寫,需要用到 正則表達(dá)式 的知識,改寫后 URL 中的 $1、$2 代表正則表達(dá)式中匹配的第一個字符串和第二個字符串,這里大家可以去了解一下正則表達(dá)式,就不細(xì)說了。

例子中的正則表達(dá)式 (\w+-\w+)|(\?.*)$,可以將原 URL:

https://www.zhuifengren.com/1001-1223.jsp?v=123456

改寫為

https://www.zhuifengren.com/h5-1001-1223-0.html?v=123456

補充:Nginx根據(jù)url參數(shù)重定向

1.判斷url路徑

location / {
    if ($args ~* "/product-list?param1=val1&param2=val2") {
        rewrite ^ http://www.mysite.com/product-list/$arg_param1/$arg_param2? last;
    }
}

2. 判斷url參數(shù)

if ($arg_path = 'abc'){
	proxy_pass http://127.0.0.1/abc/$arg_path;
}

特別注意if is evil,nginx不提供多if判斷,沒有or這樣的判斷,所以只能用下文這種方式。

location /api/ {
        if ($arg_token = '') {
        	proxy_pass http://127.0.0.1/abc
        }
        if ($http_token = '') {
             proxy_pass http://127.0.0.2/abc
        }
        if ($token = paraheader) {
        	 proxy_pass http://127.0.0.3/abc
        }
        proxy_pass http://127.0.0.1:8080/app/;
        proxy_redirect off;
    }

總結(jié)

到此這篇關(guān)于利用Nginx實現(xiàn)URL重定向的文章就介紹到這了,更多相關(guān)Nginx URL重定向內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 通過Nginx代理轉(zhuǎn)發(fā)配置實現(xiàn)跨域的方法(API代理轉(zhuǎn)發(fā))

    通過Nginx代理轉(zhuǎn)發(fā)配置實現(xiàn)跨域的方法(API代理轉(zhuǎn)發(fā))

    這篇文章主要給大家介紹了關(guān)于如何通過Nginx代理轉(zhuǎn)發(fā)配置實現(xiàn)跨域(API代理轉(zhuǎn)發(fā))的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Nginx具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Nginx配置負(fù)載均衡時訪問地址無法生效的解決方法

    Nginx配置負(fù)載均衡時訪問地址無法生效的解決方法

    本文主要介紹了Nginx配置負(fù)載均衡時訪問地址無法生效的解決方法,例如負(fù)載均衡策略的設(shè)置是否正確、是否存在拼寫錯誤等,下面就來詳細(xì)的介紹一下,感興趣的可以了解一下
    2023-09-09
  • nginx 老網(wǎng)站域名重定向到新網(wǎng)站的方法(親測)

    nginx 老網(wǎng)站域名重定向到新網(wǎng)站的方法(親測)

    本文主要介紹了nginx 老網(wǎng)站域名重定向到新網(wǎng)站的方法,以減少業(yè)務(wù)影響并確保流量導(dǎo)向新域名,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • 一次說清Nginx反向代理及參數(shù)配置

    一次說清Nginx反向代理及參數(shù)配置

    我們在配置服務(wù)時常常會用到Nginx來設(shè)置反向代理,雖然常用,但是我們真的了解各個參數(shù)的意思嗎,本文就給大家一次說清Nginx反向代理及參數(shù)配置,需要的朋友可以參考下
    2023-05-05
  • Nginx中accept鎖的機制與實現(xiàn)詳解

    Nginx中accept鎖的機制與實現(xiàn)詳解

    這篇文章主要給大家介紹了關(guān)于Nginx中accept鎖的機制與實現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • 詳解Nginx的超時keeplive_timeout配置步驟

    詳解Nginx的超時keeplive_timeout配置步驟

    Nginx 處理的每個請求均有相應(yīng)的超時設(shè)置,本文主要介紹了Nginx的超時keeplive_timeout配置步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Linux下yum安裝nginx教程

    Linux下yum安裝nginx教程

    這篇文章主要介紹了Linux下yum安裝nginx教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • nginx多https證書配置實現(xiàn)

    nginx多https證書配置實現(xiàn)

    本文主要介紹了nginx多https證書配置實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-04-04
  • Nginx配置Prometheus監(jiān)控的實現(xiàn)

    Nginx配置Prometheus監(jiān)控的實現(xiàn)

    本文主要介紹了Nginx配置Prometheus監(jiān)控的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • nginx?80端口配置多個location無效訪問404問題

    nginx?80端口配置多個location無效訪問404問題

    這篇文章主要介紹了nginx?80端口配置多個location無效訪問404問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評論

洪泽县| 剑阁县| 舞阳县| 肃北| 静安区| 会东县| 正镶白旗| 建水县| 辽中县| 龙门县| 林甸县| 彰武县| 阳城县| 准格尔旗| 安阳县| 公安县| 芒康县| 蒲城县| 双柏县| 兴宁市| 扶沟县| 平果县| 陆良县| 云林县| 依兰县| 寿阳县| 徐闻县| 东海县| 寻甸| 科技| 无棣县| 大余县| 湘西| 从化市| 秀山| 大洼县| 扬州市| 安顺市| 平武县| 横山县| 陆良县|