十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Nginx是一款高性能的HTTP和反向代理服务器,它具有很多强大的功能,其中之一就是重写规则,重写规则是Nginx中非常重要的一个功能,它可以帮助我们实现URL的跳转、缓存控制、负载均衡等功能,本文将详细介绍常用的Nginx rewrite重写规则,帮助大家更好地理解和使用这个功能。

成都一家集口碑和实力的网站建设服务商,拥有专业的企业建站团队和靠谱的建站技术,十多年企业及个人网站建设经验 ,为成都上千家客户提供网页设计制作,网站开发,企业网站制作建设等服务,包括成都营销型网站建设,成都品牌网站建设,同时也为不同行业的客户提供做网站、成都网站制作的服务,包括成都电商型网站制作建设,装修行业网站制作建设,传统机械行业网站建设,传统农业行业网站制作建设。在成都做网站,选网站制作建设服务商就选成都创新互联公司。
1、基本语法
Nginx的重写规则主要基于正则表达式,其基本语法如下:
rewrite regex replacement [flag];
regex表示正则表达式,replacement表示替换后的字符串,flag表示可选的标志位,如last、break等。
2、常用重写规则
下面列举一些常用的Nginx重写规则:
(1)URL跳转
rewrite ^/old-url$ /new-url permanent;
这条规则表示将所有访问/old-url的请求重定向到/new-url,并使用301永久重定向。
(2)URL替换
rewrite ^/old-url$ /new-url;
这条规则表示将所有访问/old-url的请求重定向到/new-url,但不使用301永久重定向。
(3)正则表达式替换
rewrite ^/old-pattern$ /new-pattern last;
这条规则表示将所有匹配/old-pattern的请求重定向到/new-pattern,并在匹配成功后停止搜索其他规则。last标志表示只应用最后一个匹配成功的规则。
(4)正则表达式替换并添加查询参数
rewrite ^/old-pattern$ /new-pattern?$ new-param=value last;
这条规则表示将所有匹配/old-pattern的请求重定向到/new-pattern,并添加一个名为new-param的查询参数,其值为value。last标志表示只应用最后一个匹配成功的规则。
(5)正则表达式替换并删除查询参数
rewrite ^/old-pattern$ /new-pattern? last;
这条规则表示将所有匹配/old-pattern的请求重定向到/new-pattern,并删除原有的查询参数。last标志表示只应用最后一个匹配成功的规则。
(6)正则表达式替换并设置HTTP状态码
rewrite ^/old-pattern$ /new-pattern redirect=302 last;
这条规则表示将所有匹配/old-pattern的请求重定向到/new-pattern,并设置HTTP状态码为302。last标志表示只应用最后一个匹配成功的规则。
1、Nginx rewrite重写规则中的flag有哪些作用?如何使用?
答:Nginx rewrite重写规则中的flag有以下几种作用:
last:只应用最后一个匹配成功的规则,当存在多个重写规则时,只有最后一个匹配成功的规则会被执行,默认情况下,flag不起作用,需要在重写指令后加上last,rewrite ^/old-url$ /new-url last;。
break:停止搜索其他规则,当存在多个重写规则时,遇到第一个匹配成功的规则后,不再搜索其他规则,默认情况下,flag不起作用,需要在重写指令后加上break,rewrite ^/old-url$ /new-url break;。
新闻名称:nginxrewriteurl重写
URL标题:http://www.zsjierui.cn/article/dpeohds.html