91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nginx中的rewrite語句

發布時間:2020-07-30 00:55:00 來源:網絡 閱讀:2194 作者:獨指蝸牛 欄目:建站服務器

rewrite命令使用正則表達式來匹配請求URI,被匹配到的URI將會被重寫,可以實現內部URL重寫或URL重定向。rewrite命令可以出現在server、location、if語句塊中。多個rewrite語句按照它們在配置文件中出現的位置從上往下順序執行,匹配到某一條rewrite語句后是否會繼續向下執行或后續如何處理,由那條語句決定。

 

命令語法格式:

rewrite  正則表達式  新URI  [flag];

  • "正則表達式"用于匹配"請求URI",匹配到的URI將會被替換成"新URI"。

 

  • "新URI"可以是單純的URI,也可以是一個完整的URL地址:

    • 當"新URI"是單純的URI時,稱作內部URL重寫。此時本條rewrite語句會按照規則將請求URL重寫成新的URL,但重寫完成后的行為則受 [flag] 選項控制。

    • 當"新URI"是一個完整的URL地址,即以"http://"、"https://"或"$scheme"開頭的地址時,稱作URL重定向。此時本條rewrite規則重寫完成后,服務端不再進行進一步處理,它會立刻將得到的新URL返回給客戶端(301、302等重定向的形式),服務端處理完成,客戶端則會重新發起對新URL的請求。

 

  • [flag] 選項用于調控重寫的行為,它的取值可能是:

    • last:重寫完成后,會停止繼續處理當前區塊所有屬于ngx_http_rewrite_module模塊的語句(即不會繼續匹配當前區塊余下的rewrite語句或其它屬于該模塊的語句)。重寫得到的新URL會重新匹配所有location語句,以進行進一步處理。

    • break:重寫完成后,會停止繼續處理當前區塊所有屬于ngx_http_rewrite_module模塊的語句(即不會繼續匹配當前區塊余下的rewrite語句或其它屬于該模塊的語句),就像break命令一樣,不會有進一步的動作。

    • redirect:重寫完成后,返回帶有302代碼(臨時重定向)的新URL給客戶端,服務端處理完成。該flag只有在"新URI"不是完整的URL地址時才會生效。

    • permanent:重寫完成后,返回帶有301代碼(永久重定向)的新URL給客戶端,服務端處理完成。

 

示例:

先在網頁根目錄下創建一些目錄和文件用于后續測試。

[root@gw ~]# mkdir -p /usr/local/nginx/html/dir/subdir1

[root@gw ~]# mkdir -p /usr/local/nginx/html/dir/subdir2

[root@gw ~]# echo 'subdir1 testfile.html' > /usr/local/nginx/html/dir/subdir1/testfile.html  

[root@gw ~]# echo 'subdir2 testfile.html' > /usr/local/nginx/html/dir/subdir2/testfile.html

修改nginx配置文件,定義rewrite規則,可以在server語句塊中定義。

[root@gw ~]# vim /usr/local/nginx/conf/nginx.conf

server {

        rewrite  ^/dir/(.*)/.*$  /dir/$1/testfile.html  break;

}

上面rewrite規則的含義是:若請求URI符合^/dir/(.*)/.*$,則將其重寫為/dir/$1/testfile.html。$1是引用請求URI中第一個括號括起來的內容,$2、$3等類似(如果有的話)。這樣,當請求是http://172.16.111.114/dir/subdir1/whaterver這種時,它將變成訪問/dir/subdir1/testfile.html;若請求是http://172.16.111.114/dir/subdir2/whaterver時,它將訪問/dir/subdir2/testfile.html這個文件。如下所示:

nginx中的rewrite語句

打開瀏覽器,按下F12鍵,切換到網絡選項卡,再在瀏覽器地址欄中輸入要訪問的URL地址,就可以看到是否有URL重寫或重定向:

nginx中的rewrite語句

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁陵县| 华安县| 兰西县| 泰来县| 大名县| 湖口县| 上犹县| 朝阳县| 山丹县| 江门市| 葫芦岛市| 禄丰县| 贺州市| 友谊县| 临沧市| 榆树市| 定安县| 都昌县| 佛坪县| 博野县| 远安县| 息烽县| 宽城| 五寨县| 阜宁县| 海南省| 营山县| 通江县| 巴中市| 武陟县| 会昌县| 万荣县| 福海县| 札达县| 德保县| 明水县| 黄大仙区| 治县。| 泗洪县| 温宿县| 西华县|