nginx反向跳轉 案例1

2021-08-30 13:33:44 字數 1643 閱讀 7326

1.nginx 根據http_referer來跳轉

bbaobelief

關注1069人閱讀

2012-12-20 13:41:05

關於網域名稱跳轉可以有多種方法:

1.在dns中設定url重定向;

2.修改程式實現;

3.修改伺服器配置;

第一種方法:我的dns使用的是免費的dnspod,需**接入1個月後才可以使用url重定向服務;

第二種方法:據說對seo不好,果斷放棄;

第三種方法:我的**伺服器使用的是nginx,下面介紹nginx實現網域名稱重定向的兩種方法。 

①單獨對需要跳轉的網域名稱在server寫重定向

server 

server  

②對兩個網域名稱做乙個host判斷,在server_name下新增

server  

... 

}需要注意的是if條件中的網域名稱單引號。應該是中文的單引號,英文單引號會出現下面的錯誤提示。

我想許多配置不成功的朋友就是這個原因引起的。

關於nginx重定向規則請參考:

2023年2月20日

nginx的重定向用到了nginx的httprewritemodule,下面簡單解釋以下如何使用的方法:

nginx的rewrite相當於apache的rewriterule(大多數情況下可以把原有apache的rewrite規則加上引號就可以直接使用),它可以用在server,location 和if條件判斷塊中,命令格式如下:

rewrite 正規表示式 替換目標 flag標記

flag標記可以用以下幾種格式:

last – 基本上都用這個flag。

break – 中止rewirte,不在繼續匹配

redirect – 返回臨時重定向的http狀態302

permanent – 返回永久重定向的http狀態301

例如下面這段設定nginx將某個目錄下面的檔案重定向到另乙個目錄,$2對應第二個括號(.*)中對應的字串:

location /download/

在server和location兩種情況下可以使用nginx的if條件判斷,條件可以為以下幾種:

正規表示式

如:

匹配判斷

~  為區分大小寫匹配; !~為區分大小寫不匹配

~* 為不區分大小寫匹配;!~為不區分大小寫不匹配

例如下面設定nginx在使用者使用ie的使用重定向到/nginx-ie目錄下:

檔案和目錄判斷

-f和!-f判斷是否存在檔案

-d和!-d判斷是否存在目錄

-e和!-e判斷是否存在檔案或目錄

-x和!-x判斷檔案是否可執行

例如下面設定nginx在檔案和目錄不存在的時候重定向:

if (!-e $request_filename)

返回http**,例如設定nginx防盜煉:

dump檔案 dump除錯案例1 未知跳轉

背景 自己手裡有乙個用duilib開發的工具在某乙個使用者那邊高頻崩潰。只要一啟動就崩潰,一天崩潰幾十次,很奇怪。從使用者那邊抓取dump檔案回來,調出windbg進行除錯查詢原因。過程 1.準備好pdb及原始碼檔案,windbg載入dump起來。命令列輸入.ecxr,然後切換看堆疊如下 報錯的 在...

nginx 網域名稱跳轉

搭了乙個 伺服器,埠是19999並在路由器上面做了個埠 而且把c.ccc.com這個網域名稱也指向了公司的公網ip,因為想讓使用者在訪問的時候不用輸入埠號於是就想在公司的web伺服器上面做個跳轉,將訪問bbs.com的請求都轉到他的伺服器192.168.10.5上面去。我第乙個想法就是 用 ngin...

nginx網域名稱跳轉

前幾天搭了乙個論壇伺服器並放到了公司的區域網裡面,論壇用的是9066埠並在路由器上面做了個埠 而且把bbs.com這個網域名稱也指向了公司的公網ip,因為想讓使用者在訪問的時候不用輸入埠號於是就想在公司的web伺服器上面做個跳轉,將訪問bbs.com的請求都轉到他的伺服器上面去。我第乙個想法就是 用...