天天看點

Nginx學習(五) Nginx rewrite重寫配置

Rewite 規則作用

Rewrite規則可以實作對url的重寫,以及重定向

作用場景:

URL通路跳轉,支援開發設計,如頁面跳轉,相容性支援,展示效果等

SEO優化

維護:背景維護、流量轉發等

安全

1、配置文法:

文法:

rewrite [正規表達式 替換前的URL] [替換後的URL] [辨別];

配置位置: server域/location域/if判斷裡

配置執行個體:

rewrite ^(.*)$ /pages/maintain.html break; # 把所有的請求都跳轉至maintain.html頁面, break是一個辨別符.

2、常用的正規表達式規則:

.	比對除換行符以外的任意字元
?	重複0次或1次
+	重複1次或多次
*	最少連結數, 哪台伺服器的連接配接數少就往那台伺服器分發
\d	比對數字
^	比對字元串的開始
$	比對字元串的結尾
{n} 重複n次
{n,}重複n或更多次
[c]	比對單個字元c
[a-z]	比對a-z小寫字母中的任意一個
\	轉義字元, 如: 轉義一個字尾的點(index\.html$)
()	比對括号之間的内容, 通過$1、$2調用
           

特别說明一下$1的使用

if($http_user_agent ~ MSIE){
    rewrite ^(.*)$ /msie/$1 break;  //(.*) 比對所有檔案名, 将其路徑改為/msie/[該檔案名]
}
           

3、辨別說明:

last	停止rewrite的檢測
break	停止rewrite的檢測
redirect	傳回302臨時重定向, 位址欄會顯示跳轉後的位址
permanent	傳回301永久重定向, 位址欄會顯示跳轉後的位址(後面再次通路也會定向至該位址, 除非清理緩存)
           

繼續閱讀