新聞中心
Nginx重寫規(guī)則簡介
Nginx是一款高性能的HTTP和反向代理服務(wù)器,它具有很多強(qiáng)大的功能,其中之一就是重寫規(guī)則,重寫規(guī)則是Nginx中非常重要的一個(gè)功能,它可以幫助我們實(shí)現(xiàn)URL的跳轉(zhuǎn)、緩存控制、負(fù)載均衡等功能,本文將詳細(xì)介紹常用的Nginx rewrite重寫規(guī)則,幫助大家更好地理解和使用這個(gè)功能。

成都一家集口碑和實(shí)力的網(wǎng)站建設(shè)服務(wù)商,擁有專業(yè)的企業(yè)建站團(tuán)隊(duì)和靠譜的建站技術(shù),十多年企業(yè)及個(gè)人網(wǎng)站建設(shè)經(jīng)驗(yàn) ,為成都上千家客戶提供網(wǎng)頁設(shè)計(jì)制作,網(wǎng)站開發(fā),企業(yè)網(wǎng)站制作建設(shè)等服務(wù),包括成都營銷型網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),同時(shí)也為不同行業(yè)的客戶提供做網(wǎng)站、成都網(wǎng)站制作的服務(wù),包括成都電商型網(wǎng)站制作建設(shè),裝修行業(yè)網(wǎng)站制作建設(shè),傳統(tǒng)機(jī)械行業(yè)網(wǎng)站建設(shè),傳統(tǒng)農(nóng)業(yè)行業(yè)網(wǎng)站制作建設(shè)。在成都做網(wǎng)站,選網(wǎng)站制作建設(shè)服務(wù)商就選成都創(chuàng)新互聯(lián)公司。
常用的Nginx rewrite重寫規(guī)則
1、基本語法
Nginx的重寫規(guī)則主要基于正則表達(dá)式,其基本語法如下:
rewrite regex replacement [flag];
regex表示正則表達(dá)式,replacement表示替換后的字符串,flag表示可選的標(biāo)志位,如last、break等。
2、常用重寫規(guī)則
下面列舉一些常用的Nginx重寫規(guī)則:
(1)URL跳轉(zhuǎn)
rewrite ^/old-url$ /new-url permanent;
這條規(guī)則表示將所有訪問/old-url的請求重定向到/new-url,并使用301永久重定向。
(2)URL替換
rewrite ^/old-url$ /new-url;
這條規(guī)則表示將所有訪問/old-url的請求重定向到/new-url,但不使用301永久重定向。
(3)正則表達(dá)式替換
rewrite ^/old-pattern$ /new-pattern last;
這條規(guī)則表示將所有匹配/old-pattern的請求重定向到/new-pattern,并在匹配成功后停止搜索其他規(guī)則。last標(biāo)志表示只應(yīng)用最后一個(gè)匹配成功的規(guī)則。
(4)正則表達(dá)式替換并添加查詢參數(shù)
rewrite ^/old-pattern$ /new-pattern?$ new-param=value last;
這條規(guī)則表示將所有匹配/old-pattern的請求重定向到/new-pattern,并添加一個(gè)名為new-param的查詢參數(shù),其值為value。last標(biāo)志表示只應(yīng)用最后一個(gè)匹配成功的規(guī)則。
(5)正則表達(dá)式替換并刪除查詢參數(shù)
rewrite ^/old-pattern$ /new-pattern? last;
這條規(guī)則表示將所有匹配/old-pattern的請求重定向到/new-pattern,并刪除原有的查詢參數(shù)。last標(biāo)志表示只應(yīng)用最后一個(gè)匹配成功的規(guī)則。
(6)正則表達(dá)式替換并設(shè)置HTTP狀態(tài)碼
rewrite ^/old-pattern$ /new-pattern redirect=302 last;
這條規(guī)則表示將所有匹配/old-pattern的請求重定向到/new-pattern,并設(shè)置HTTP狀態(tài)碼為302。last標(biāo)志表示只應(yīng)用最后一個(gè)匹配成功的規(guī)則。
相關(guān)問題與解答
1、Nginx rewrite重寫規(guī)則中的flag有哪些作用?如何使用?
答:Nginx rewrite重寫規(guī)則中的flag有以下幾種作用:
last:只應(yīng)用最后一個(gè)匹配成功的規(guī)則,當(dāng)存在多個(gè)重寫規(guī)則時(shí),只有最后一個(gè)匹配成功的規(guī)則會(huì)被執(zhí)行,默認(rèn)情況下,flag不起作用,需要在重寫指令后加上last,rewrite ^/old-url$ /new-url last;。
break:停止搜索其他規(guī)則,當(dāng)存在多個(gè)重寫規(guī)則時(shí),遇到第一個(gè)匹配成功的規(guī)則后,不再搜索其他規(guī)則,默認(rèn)情況下,flag不起作用,需要在重寫指令后加上break,rewrite ^/old-url$ /new-url break;。
分享文章:nginxrewriteurl重寫
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/dpeohds.html


咨詢
建站咨詢
