Rewrite規則含義就是某個URL重寫成特定的URL,從某種意義上說為了美觀或者對搜索引擎友好,提高收錄量及排名等。
Rewrite規則的最后一項參數為flag標記,支持的flag標記主要有以下幾種:
1) last :相當於Apache里的(L)標記,表示完成rewrite;
2) break;本條規則匹配完成后,終止匹配,不再匹配后面的規則
3) redirect:返回302臨時重定向,瀏覽器地址會顯示跳轉后的URL地址
4) permanent:返回301永久重定向,瀏覽器地址欄會顯示跳轉后的URL地址
5) last和break用來實現URL重寫,瀏覽器地址欄URL地址不變。
a) 例如用戶訪問www.test.com,想直接跳轉到網站下面的某個頁面,www.test.com/new.index.html如何來實現呢?
我們可以使用Nginx Rewrite 來實現這個需求,具體如下:
在server中加入如下語句即可:
rewrite ^/$ http://www.test.com/index01.html permanent;
*代表前面0或更多個字符
+代表前面1或更多個字符
?代表前面0或1個字符
^代表字符串的開始位置
$代表字符串結束的位置
。為通配符,代表任何字符
b) 例如多個域名跳轉到同一個域名,nginx rewrite規則寫法如下:
server
{
listen 80;
server_name www.wugk.com wugk.com;
if ($host != ‘www.wugk.com’ ) {
rewrite ^/(.*)$ http://www.wugk.com/$1 permanent;
}
更多深入的rewrite可以繼續學習。