nginx rewrite

(1)rewrite基本介紹

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

(2)rewrite案例

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;
        }
相關文章
相關標籤/搜索