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永久重定向, 位址欄會顯示跳轉後的位址(後面再次通路也會定向至該位址, 除非清理緩存)