溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

nginx重定向URI中rewrite和alias指的是什么

發(fā)布時間:2021-12-09 09:20:56 來源:億速云 閱讀:400 作者:柒染 欄目:大數(shù)據(jù)

本篇文章給大家分享的是有關(guān)nginx重定向URI中rewrite和alias指的是什么,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

熟悉Nginx的同學(xué)都知道Nginx可以用來做負(fù)載均衡和反向代理,非常好用。做前后端分離也是非常的方便。今天我們就來說一下,用Nginx做前后端分離時如何做URI重定向?

什么是URI重定向?

就是說訪問某一個或者某一規(guī)則URI時由Nginx的配置來決定重定向到另外一個或一類URI。

有啥用呢?

其中一個作用就是可以將請求映射到真實目錄。

這時我們可以這樣配置location:

location /ITwalking {    root D:/resources/;}

用root這種方式配置的話,location后面的ITwalking是作為系統(tǒng)目錄的,

即D:/resources/下要有/ITwalking/page這層目錄。

這種配置是沒問題的。

但假如我們的D:/resources/下直接就是page,

然后下面直接就是文件呢,中間沒

有/ITwalking這層目錄,怎么辦呢?你可能會想,新建個ITwalking把page及其中的文件移動到里面,然后用上面的配置不就可以了嗎。

可以,但沒必要!

非常沒必要,因為我們的resources/page目錄可能是從git上clone的,如果我們新建目錄移動進(jìn)去,那我們是不是修改了本地git倉庫,那我們提交代碼或更新時咋辦?再移出去?多麻煩啊。(因為我們請求后臺必須要加/ITwalking的)

為了解決這個問題,我們可以用 Nginx 的 alias 指令或者 rewrite 指令。

1、alias指令用來重置當(dāng)前文件的目錄,lacation后面的是虛擬目錄

location /ITwalking/ {    #使用 nginx alias 指令    alias D:/resources/page/;}

這樣,當(dāng)URL為

http://www.abc.com/ITwalking/page/index.html時,

會將此請求重定向到

D:/resources/page/index.html

此時的ITwalking是虛擬目錄,對此目錄的訪問重置到

D:/resources/page/

2、rewrite重定向,需要配合root指令一起使用

location /ITwalking/ {    root D:/resources/page/;    #使用 nginx rewrite 指令    rewrite ^/ITwalking/(.*?)$ /$1 break;}

這兩種效果是一樣的。^/ITwalking/(.*?)$是正則,表示滿足這個正則的請求,都重定向到D:/resources/page/下,/$1重定向的地址,break終止匹配。

rewrite是針對http請求的,它里面的路徑是網(wǎng)址里面的地址,rewrite做的是地址間的轉(zhuǎn)換。
而root和alias是系統(tǒng)文件路徑的設(shè)置。
區(qū)別是,root用來設(shè)置根目錄,而alias用來重置當(dāng)前文件的目錄。

以上就是nginx重定向URI中rewrite和alias指的是什么,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI