摘要:語法規則定向路徑重寫類型規則可以是字符串或者正則來表示想匹配的目標定向路徑表示匹配到規則后要定向的路徑,如果規則里有正則,則可以使用來表示正則里的捕獲分組重寫類型相當于里德標記,表示完成,瀏覽器地址欄地址不變本條規則匹配完成后,終止匹配,不
rewrite語法
server { rewrite {規則} {定向路徑} {重寫類型} ; }
1、規則:可以是字符串或者正則來表示想匹配的目標url
2、定向路徑:表示匹配到規則后要定向的路徑,如果規則里有正則,則可以使用$index來表示正則里的捕獲分組
3、重寫類型:
last :相當于Apache里德(L)標記,表示完成rewrite,瀏覽器地址欄URL地址不變
break;本條規則匹配完成后,終止匹配,不再匹配后面的規則,瀏覽器地址欄URL地址不變
redirect:返回302臨時重定向,瀏覽器地址會顯示跳轉后的URL地址
permanent:返回301永久重定向,瀏覽器地址欄會顯示跳轉后的URL地址
舉例說明server { rewrite /last.html /index.html last; # 訪問 /last.html 的時候,頁面內容重寫到 /index.html 中 rewrite /break.html /index.html break; # 訪問 /break.html 的時候,頁面內容重寫到 /index.html 中,并停止后續的匹配 rewrite /redirect.html /index.html redirect; # 訪問 /redirect.html 的時候,頁面直接302定向到 /index.html中 rewrite /permanent.html /index.html permanent; # 訪問 /permanent.html 的時候,頁面直接301定向到 /index.html中 rewrite ^/html/(.+?).html$ /post/$1.html permanent; # 把 /html/*.html => /post/*.html ,301定向 rewrite ^/search/([^/]+?)(/|$) /search.html?keyword=$1 permanent; # 把 /search/key => /search.html?keyword=key }
last和break的區別:
因為301和302不能簡單的只返回狀態碼,還必須有重定向的URL,這就是return指令無法返回301,302的原因了(return 只能返回除301、302之外的code)。
last一般寫在server和if中,而break一般使用在location中
last不終止重寫后的url匹配,即新的url會再從server走一遍匹配流程,而break終止重寫后的匹配
break和last都能組織繼續執行后面的rewrite指令
在location里一旦返回break則直接生效并停止后續的匹配location
server { location / { rewrite /last/ /q.html last; rewrite /break/ /q.html break; } location = /q.html { return 400; } }
訪問/last/時重寫到/q.html,然后使用新的uri再匹配,正好匹配到locatoin = /q.html然后返回了400;
訪問/break時重寫到/q.html,由于返回了break,則直接停止了;
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/40526.html
摘要:即別名,與的匹配規則稍有不同。與的區別只能作用在中,而可以存在和中。后面必須要用結束,否則會找不到文件,而則對可有可無。 Nginx 安裝與配置規則入門 nginx 安裝與運行 (Mac OS環境) nginx 規則配置入門 一些命令行的配置 一、nginx 安裝與運行 (Mac OS環境) 1. 安裝 nginx 可通過 Homebrew 可直接安裝: $brew install...
摘要:本文同步在個人博客上,歡迎關注這篇文章整理了在前端開發中,在開發環境下使用重寫及代理功能的方法。表示該規則是使用正則定義的,區分大小寫。因此牢記在上下文中使用,而在上下文中使用。 本文同步在個人博客shymean.com上,歡迎關注 這篇文章整理了在前端開發中,在開發環境下使用nginx重寫uri及代理功能的方法。 參考 nginx中文文檔 前端開發者必備的 Nginx 知識 Ngin...
摘要:語法如果相對域名或參數字符串起作用,可以使用全局變量匹配,也可以使用反向代理。不能返回限速,可以通過指令設置如果請求的文件名不存在,則反向代理到。 location正則寫法 一個示例: location = / { # 精確匹配 / ,主機名后面不能帶任何字符串 [ configuration A ] } location / { # 因為所有的地址都以 / 開...
摘要:語法如果相對域名或參數字符串起作用,可以使用全局變量匹配,也可以使用反向代理。不能返回限速,可以通過指令設置如果請求的文件名不存在,則反向代理到。 1. location正則寫法 一個示例: location = / { # 精確匹配 / ,主機名后面不能帶任何字符串 [ configuration A ] } location / { # 因為所有的地址都以 / 開...
摘要:什么是正向代理呢正向代理中,客戶端通過代理服務器從服務端收發數據,即為正向代理。反向代理又是什么反向代理中,代理服務器替服務端收發數據,所有的請求與相應都經過反向代理,可以用來實現數據緩存,負載均衡等。 什么是代理 在計算機中,客戶端A與服務端B進行通信,中間加入中介C進行數據傳遞,則形成了代理。來個淺顯易懂的比喻,三年級二班小明和小花談戀愛,由于小明和小花座位離的太遠,這時候需要小王...
閱讀 2238·2021-09-23 11:52
閱讀 1903·2021-09-02 15:41
閱讀 3025·2019-08-30 10:47
閱讀 1989·2019-08-29 17:14
閱讀 2344·2019-08-29 16:16
閱讀 3195·2019-08-28 18:29
閱讀 3426·2019-08-26 13:30
閱讀 2615·2019-08-26 10:49