亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

Nginx重定向設(shè)置方法簡介

admin
2025年6月29日 15:1 本文熱度 149

Nginx可以通過return和rewrite兩種方式來實現(xiàn)重定向,下面通過幾個例子簡單演示下,如有錯誤,還望指正

一、使用return來實現(xiàn)重定向
return配置位置:

  • server:作用域為全局
  • location:作用域為location中
  • if :作用域為if{}中

return參數(shù)有三種方式:

  • return code url重定向
  • return url重定向 #臨時重定向,返回302
  • return code “文本內(nèi)容” 返回狀態(tài)碼以及文本

本例子中使用Nginx和Jenkins來作為演示,他們都部署在同一臺機(jī)器上,端口分別為80和8080
1.1、下面例子使用第一種參數(shù)將url永久重定向到j(luò)enkins頁面,如圖:
注意:return后面的http地址結(jié)尾有沒有”/”都沒關(guān)系,因為只要匹配了路徑/jenkins就會請求過來
接下來通過http://10.9.2.247/jenkins來請求,可以看到已經(jīng)重定向到j(luò)enkins頁面,如圖:
1.2 、下面例子是使用第二種參數(shù)將url重定向到百度頁面,如圖:
此時通過瀏覽器訪問http://10.9.2.247/url/ 將重定向到百度頁面,查看返回狀態(tài)碼,如圖:
1.3、下面例子是使用第三種參數(shù),返回狀態(tài)碼和文本,如圖:
通過瀏覽器訪問http://10.9.2.247/test 將下載test文件,查看此文件內(nèi)容如下:
注意:return后面只有是200的時候才會下載,其余的不會
return在server和if中用法基本差不多,過多演示
二、使用rewirte實現(xiàn)重定向
rewirte配置位置:

  • server:作用域為全局
  • location:作用域為location中
  • if :作用域為if{}中

語法如下:
rewrite regex replacement [flag]

  • regex:正則表達(dá)式

  • replacement:重寫的內(nèi)容,也就是跳轉(zhuǎn)后的內(nèi)容

  • flag:rewrite的標(biāo)記

常用的flag標(biāo)記如下:

last本條規(guī)則匹配完成后,不終止重寫后的url匹配,一般用在 server 和 if 中
break本條規(guī)則匹配完成即終止,終止重寫后的url匹配,一般使用在 location 中
redirect返回302臨時重定向,瀏覽器地址欄會顯示跳轉(zhuǎn)后的URL地址
permanent 返回301永久重定向,瀏覽器地址欄會顯示跳轉(zhuǎn)后的URL地址

演示例子之前我們先通過yum安裝一個httpd,然后修改端口為88,并修改默認(rèn)界面內(nèi)容如下:
vim /var/www/html/index.html    #this is a httpd pag
啟動httpd后,通過瀏覽器訪問,如下:

本例子中Nginx和httpd都在同一臺機(jī)器,端口分別為80和88,下面舉幾個例子演示下,更多用法可查官方文檔或自行網(wǎng)絡(luò)查找研究
rewrite放在location{}中
1、下面例子中,請求路由為/,也就是默認(rèn)根路由,如圖:

此時通過瀏覽器訪問http://10.9.2.247,可以看到已經(jīng)跳轉(zhuǎn)到httpd,如圖:

在不改變上圖中rewrite規(guī)則情況下,無論location中路由變成什么,最終都是重定向到httpd的默認(rèn)頁面
2、在httpd默認(rèn)界面/var/www/html目錄下創(chuàng)建test目錄,添加index.html文件,內(nèi)容如下:
mkdir -p /var/www/html/testecho "this is a test page about httpd!!!" > /var/www/html/test/index.html
修改location和rewrite規(guī)則,如圖:

通過瀏覽器訪問http://10.9.2.247/test ,查看瀏覽器響應(yīng)結(jié)果如下:

從上圖看出,當(dāng)請求路由為/test,實際是跳轉(zhuǎn)到了httpd根路徑下的test目錄的index.html文件,為什么會這樣呢?因為rewrite中的正則(.*) 前面并無其他內(nèi)容,因此此時匹配的就是上面的路由test,而$1正好對應(yīng)的是(.*)的內(nèi)容,因此實際請求路徑就變成了10.9.2.247:88/test
注意:在rewrite的正則中,如果有$1、$2,那么實際匹配的是()中的內(nèi)容,比如:
# $1、$2....只能匹配括號內(nèi)容,記住,只能匹配括號內(nèi)容rewrite /(abc)/(def) https://example.com/$1/$2 #匹配路徑為https://example.com/abc/defrewrite /abc/(def)  https://example.comf/$1    #匹配路徑為https://example.com/def
3、修改上述rewrite規(guī)則,添加一段路徑,如圖:

此時通過瀏覽器請求http://10.9.2.247/test/index.html,將跳轉(zhuǎn)到httpd默認(rèn)路徑下的index.html,因為$1只能匹配括號的內(nèi)容,此時(.*)匹配的內(nèi)容就是index.html,因此實際重定向的路徑就是http://10.9.2.247:88/index.html,^/test表示匹配以test開頭的路由,location中是test,這里匹配的開頭也要是test,不能所以寫,會報錯

注意:上面的location中路由是/test還是/test/對結(jié)果都沒有影響,$1只匹配括號里的
4、修改rewrite規(guī)則,增加一個路徑abcd,再次查看結(jié)果,如圖:

瀏覽器中輸入http://10.9.2.247/test/abcd/index.html,實際重定向的路徑是http://10.9.2.247:88/index.html,因為$1匹配的只是()中的內(nèi)容,如圖:

注意:rewrite中的路由有test,location中路由也有test,此時rewrite中的test會覆蓋location中test

5、修改location路由和rewrite規(guī)則,如圖:


從上圖看出location路由和rewrite路由不同,此時請求的時候需要將rewrite路由一起加上,請求路徑http://10.9.2.247/test/def/abcd/index.html將重定向到http://10.9.2.247:88/index.html,如圖:

注意看,上面的rewrite的/abcd/前面是沒有”^”的,如果加了這個”^”后,再按照上面的路徑請求就會異常,因為”^”表示匹配開頭,加了后表示請求路由以abcd開頭,那么請求路徑就會變成http://10.9.2.247/abcd/index.html,但是location中也沒有abcd這個,所以請求也不會成功,因此要么不加”^”,在請求的時候直接將rewrite路由加在location路由后面,要不就像上面2.4中的那樣,把location的路由也寫在rewrite中,并加前綴”^”匹配
6、下面例子使用$1和$2獲取兩個參數(shù),如圖:

瀏覽器請求http://10.9.2.247/test/def/abc/abc.html,結(jié)果如下:

上圖中的rewrite有兩個括號內(nèi)容,那么將分別對應(yīng)$1和$2,因此實際請求將匹配到http://10.9.2.247:88/abc/abc.html
rewrite放在if{}中
修改上面的nginx配置文件,如下:

  • 41行:定義兩個域名

  • 44行:如果請求域名為www.abc.com,那么將通過rewrite重定向否則直接請求nginx的根路徑文件

  • 45行:重定向到httpd路徑下

  • 47行:默認(rèn)的Nginx根路徑

通過瀏覽器訪問www.def.com,可以看到跳轉(zhuǎn)到了Nginx的默認(rèn)界面,如圖:

通過瀏覽器訪問www.abc.com,可以看到重定向到httpd頁面,如圖:

rewrite放在server{}中
修改Nginx配置文件,將rewrite放在server中,如圖:

上圖中將rewrite放在server中,那么此時這個重定向?qū)θ稚?,此時通過域名訪問將重定向到httpd的默認(rèn)界面,如圖:

閱讀原文:原文鏈接


該文章在 2025/7/1 23:21:01 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊、財務(wù)費(fèi)用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved