您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關nginx重定向URI中rewrite和alias指的是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
熟悉Nginx的同學都知道Nginx可以用來做負載均衡和反向代理,非常好用。做前后端分離也是非常的方便。今天我們就來說一下,用Nginx做前后端分離時如何做URI重定向?
什么是URI重定向?
就是說訪問某一個或者某一規則URI時由Nginx的配置來決定重定向到另外一個或一類URI。
有啥用呢?
其中一個作用就是可以將請求映射到真實目錄。
這時我們可以這樣配置location:
location /ITwalking { root D:/resources/;}
用root這種方式配置的話,location后面的ITwalking是作為系統目錄的,
即D:/resources/下要有/ITwalking/page這層目錄。
這種配置是沒問題的。
但假如我們的D:/resources/下直接就是page,
然后下面直接就是文件呢,中間沒
有/ITwalking這層目錄,怎么辦呢?你可能會想,新建個ITwalking把page及其中的文件移動到里面,然后用上面的配置不就可以了嗎。
可以,但沒必要!
非常沒必要,因為我們的resources/page目錄可能是從git上clone的,如果我們新建目錄移動進去,那我們是不是修改了本地git倉庫,那我們提交代碼或更新時咋辦?再移出去?多麻煩啊。(因為我們請求后臺必須要加/ITwalking的)
為了解決這個問題,我們可以用 Nginx 的 alias 指令或者 rewrite 指令。
1、alias指令用來重置當前文件的目錄,lacation后面的是虛擬目錄
location /ITwalking/ { #使用 nginx alias 指令 alias D:/resources/page/;}
這樣,當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請求的,它里面的路徑是網址里面的地址,rewrite做的是地址間的轉換。
而root和alias是系統文件路徑的設置。
區別是,root用來設置根目錄,而alias用來重置當前文件的目錄。
以上就是nginx重定向URI中rewrite和alias指的是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。