微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

本篇文章给大家分享的是有关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指的是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程之家行业资讯频道。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐