1.rewrite做用
主要實現url重寫以及重定向,實現僞靜態
2.rewrite語法:html
syntax: rewrite regex replacement [flag] context: server,location,if 例:rewrite ^/(.*) http://www.abc.com/$1 permanent; rewrite //爲固定關鍵字,表示開始進行rewrite匹配規則 regex ^/(.*) //正則表達式,匹配完整的域名和後面的路徑 replacement // http://www.abc.com/$1 $1取regex中的()裏的內容,匹配成功後跳轉URL flag last //中止rewrite檢測 break //中止rewrite檢測 redirect //返回302臨時重定向,每一次都請求 permanent //返回301永久重定向,使用本地緩存
3.正則表達式:省略
4.正則表達式字段測試工具nginx
#yum install pcre-tools -y #pcretest
1.訪問www.test.com跳轉到www.baidu.com正則表達式
server { listen 80; server_name www.test.com; if ($host = "www.test.com"){ rewrite .* http://www.baidu.com break; }
2.訪問test.com跳轉到www.test.com 301跳轉緩存
server { listen 80; server_name test.com; rewrite ^/(.*) www.test.com/$1 permanent; }
server { listen 80; server_name test.com; if ( $host != "www.test.com" ) { rewrite ^/(.*) www.test.com/$1 permanent; } }
3.url重寫:www.test.com/nginx/123.html 重寫成www.123.com/123.html工具
server { listen 80; server_name www.test.com; rewrite "^.+nginx(.*)$" http://www.123.com$1 permanent; }