您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(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è)資訊頻道。
免責(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)容。