nginx 301 302跳轉的詳細說明nginx
server {正則表達式
listen 80;apache
server_name abc.com;瀏覽器
rewrite ^/(.*) http://www.abc.com/$1 permanent;服務器
access_log off;spa
}server
last – 基本上都用這個Flag。it
break – 停止Rewirte,不在繼續匹配io
redirect – 返回臨時重定向的HTTP狀態302ast
permanent – 返回永久重定向的HTTP狀態301
Nginx的重定向用到了Nginx的HttpRewriteModule,下面簡單解釋如下如何使用的方法:
rewrite命令
nginx的rewrite至關於apache的rewriterule(大多數狀況下能夠把原有apache的rewrite規則加上引號就能夠直接使用),它能夠用在server,location 和IF條件判斷塊中,命令格式以下:
rewrite 正則表達式 替換目標 flag標記
flag標記能夠用如下幾種格式:
last – 基本上都用這個Flag。
break – 停止Rewirte,不在繼續匹配
redirect – 返回臨時重定向的HTTP狀態302
permanent – 返回永久重定向的HTTP狀態301
特別注意:
last和break用來實現URL重寫,瀏覽器地址欄的URL地址不變,可是在服務器端訪問的路徑發生了變化;
redirect和permanent用來實現URL跳轉,瀏覽器地址欄會顯示跳轉後的URL地址;
301跳轉實例
server {
listen 80;
server_name abc.com;
rewrite ^/(.*) http://www.abc.com/$1 permanent;
access_log off;
}
302跳轉實例
server {
listen 80;
server_name abc.com;
rewrite ^/(.*) http://www.abc.com/$1 redirect;
access_log off;
}