天天看點

利用nginx的301重定向到另外伺服器

需求:

如果本地沒有這個url就rewrite到另外伺服器上去請求;

實作:

server {

    listen       8080;

    if (!-e $request_filename ){

    }

}

說明:

當本地web上沒有這個資源的時候,就跳轉到192.168.2.42伺服器上去請求;

nginx的rewrite指令中可以通過設定該條rewrite的flag來對該規則進行說明。一般可以設定的flag有:last,break,redirect,permanent四種。

redirect說明,這條規則是一個臨時的跳轉,并且此時如果觀察http請求的話,http的響應狀态碼為302.

permanent說明,這條規則是一個永久性的跳轉,并且此時,http的響應狀态碼為301.

那麼什麼是永久性跳轉,什麼是臨時跳轉,這有什麼作用呢?下面我們舉例說明:

如果有一個url,/a。

如果配置成

1

則說明這個跳轉是一個臨時跳轉,此時如果有網絡爬蟲爬這個連結時,是不會更新自己的url資料庫的。

這也就是臨時跳轉和永久跳轉的差別。

本文轉自 shine_forever 51CTO部落格,原文連結:http://blog.51cto.com/shineforever/1619804